eas_pcm.h revision a8c89077d78769bf4840fa91609edc51fe2fa02d
18a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*----------------------------------------------------------------------------
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
38a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * File:
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * eas_pcm.h
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
68a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Contents and purpose:
78a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * External function prototypes for eas_pcm.c module
88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Copyright Sonic Network Inc. 2005
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Licensed under the Apache License, Version 2.0 (the "License");
138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * you may not use this file except in compliance with the License.
148d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.com * You may obtain a copy of the License at
1570442a6cf73c9a822df23961f5e16dc3abc18f26reed@google.com *
166cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *      http://www.apache.org/licenses/LICENSE-2.0
176cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
186cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Unless required by applicable law or agreed to in writing, software
196cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * distributed under the License is distributed on an "AS IS" BASIS,
206cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
216cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * See the License for the specific language governing permissions and
223b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com * limitations under the License.
233b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com *
243b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com *----------------------------------------------------------------------------
253b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com * Revision Control:
263b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com *   $Revision: 847 $
273b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com *   $Date: 2007-08-27 21:30:08 -0700 (Mon, 27 Aug 2007) $
283b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com *----------------------------------------------------------------------------
293b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com*/
303b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com
313b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com#ifndef _EAS_PCM_H
322b34fe01d7b5736b212eb4886afc723a7b9241aeskia.committer@gmail.com#define _EAS_PCM_H
333b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com
343b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com/* default gain setting - roughly unity gain */
353b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com#define PCM_DEFAULT_GAIN_SETTING    0x6000
363b34505d79691f129d7babb5de607c6459ac9f4dreed@google.com
373b34505d79691f129d7babb5de607c6459ac9f4dreed@google.comtypedef struct s_pcm_state_tag *EAS_PCM_HANDLE;
383b34505d79691f129d7babb5de607c6459ac9f4dreed@google.comtypedef void (*EAS_PCM_CALLBACK) (EAS_DATA_HANDLE pEASData, EAS_VOID_PTR cbInstData, EAS_PCM_HANDLE pcmHandle, EAS_STATE state);
396cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/* parameters for EAS_PEOpenStream */
41e1575aa21619e252f6c6514317041c32d00ce5a6reed@google.comtypedef struct s_pcm_open_params_tag
42e1575aa21619e252f6c6514317041c32d00ce5a6reed@google.com{
43e1575aa21619e252f6c6514317041c32d00ce5a6reed@google.com    EAS_FILE_HANDLE     fileHandle;
44e1575aa21619e252f6c6514317041c32d00ce5a6reed@google.com    EAS_I32             decoder;
45e1575aa21619e252f6c6514317041c32d00ce5a6reed@google.com    EAS_U32             sampleRate;
466cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com    EAS_I32             size;
478eaddb0089a170760e157646192813bd940c26e7skia.committer@gmail.com    EAS_U32             loopStart;
4815e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com    EAS_U32             loopSamples;
4915e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com    EAS_I32             blockSize;
506cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com    EAS_U32             flags;
516cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com    EAS_U32             envData;
526cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com    EAS_I16             volume;
536cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com    EAS_PCM_CALLBACK    pCallbackFunc;
546cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com    EAS_VOID_PTR        cbInstData;
5588682b77d108a7413a166e3158e187f43211c46bbungeman@google.com } S_PCM_OPEN_PARAMS;
566cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
578a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*----------------------------------------------------------------------------
588a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * EAS_PEInit()
596cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
606cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
616cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Initializes the PCM engine
626cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
6304306921f45c91ceec73bb96a427e4c69cf9782cbungeman@google.com * Inputs:
646cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
656cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
6688682b77d108a7413a166e3158e187f43211c46bbungeman@google.com * Outputs:
6788682b77d108a7413a166e3158e187f43211c46bbungeman@google.com *
6888682b77d108a7413a166e3158e187f43211c46bbungeman@google.com *
696cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
7004306921f45c91ceec73bb96a427e4c69cf9782cbungeman@google.com *
718a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
728a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
738a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comEAS_RESULT EAS_PEInit (EAS_DATA_HANDLE pEASData);
748a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
758a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*----------------------------------------------------------------------------
768a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * EAS_PEShutdown()
778a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
788a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Purpose:
798a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Shuts down the PCM engine
808a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
818a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Inputs:
828a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
8315e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com *
846cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
854d213ab944d96ad60a243ac1ad21c793c1acc80ascroggo@google.com *
864d213ab944d96ad60a243ac1ad21c793c1acc80ascroggo@google.com *
874d213ab944d96ad60a243ac1ad21c793c1acc80ascroggo@google.com * Side Effects:
886cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
896cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
906cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
916cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEShutdown (EAS_DATA_HANDLE pEASData);
926cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
936cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
946cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * EAS_PEOpenStream()
956cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
966cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
976cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Starts up a PCM playback
986cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
996cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
1006cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1016cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1026cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
1036cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1046cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1056cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
1066cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1076cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1086cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
1096cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEOpenStream (EAS_DATA_HANDLE pEASData, S_PCM_OPEN_PARAMS *pParams, EAS_PCM_HANDLE *pHandle);
1106cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
1116cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
1126cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * EAS_PEContinueStream()
1136cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1146cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
1156cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Continues a PCM stream
1166cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1176cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
1186cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1196cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1206cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
1216cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
12204306921f45c91ceec73bb96a427e4c69cf9782cbungeman@google.com *
1236cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
1246cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1256cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1266cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
1276cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEContinueStream (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle, EAS_I32 size);
1286cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
12915e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com/*----------------------------------------------------------------------------
13015e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com * EAS_PEGetFileHandle()
1318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
1328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Purpose:
1336cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Returns the file handle of a stream
1346cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1356cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
1366cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1376cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1386cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
1396cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1406cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1416cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
1426cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1436cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1446cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
1456cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEGetFileHandle (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle, EAS_FILE_HANDLE *pFileHandle);
1466cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
1476cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
1486cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * EAS_PERender()
1496cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1506cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
1516cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Render a buffer of PCM audio
1526cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1536cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
1546cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1556cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1566cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
1576cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1586cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1596cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
1606cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
1616cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1626cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
1636cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PERender (EAS_DATA_HANDLE pEASData, EAS_I32 numSamples);
1646cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
1656cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
1666cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * EAS_PEUpdateParams()
1676cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
1686cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
1696cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Update the pitch and volume parameters using MIDI controls
1706cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
171dfc5ffe478a2f0922b5d4541507481d14f2f55dbctguil@chromium.org * Inputs:
1728a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
1733b429984664e88e0530eb6a1461a828898d8d96breed@google.com *
1743b429984664e88e0530eb6a1461a828898d8d96breed@google.com * Outputs:
1758a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
1768a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
1778a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Side Effects:
1788a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
1798a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
1808a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
1818a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comEAS_RESULT EAS_PEUpdateParams (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE pState, EAS_I16 pitch, EAS_I16 gainLeft, EAS_I16 gainRight);
1828a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
1838a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*----------------------------------------------------------------------------
1848a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * EAS_PELocate()
1858a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
186490fb6b4713463954cc0283a9c30e754c45c6004commit-bot@chromium.org * Purpose:
187490fb6b4713463954cc0283a9c30e754c45c6004commit-bot@chromium.org * This function seeks to the requested place in the file. Accuracy
1888a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * is dependent on the sample rate and block size.
189fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com *
1908a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Inputs:
1918a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * pEASData         - pointer to overall EAS data structure
1928a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * pState           - stream handle
1938a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * time             - media time in milliseconds
1948a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
1958a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
196d877fdbb6e64692285c3e6532d88b9458f65b3cdvandebo@chromium.orgEAS_RESULT EAS_PELocate (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE pState, EAS_I32 time);
1978a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
1988a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*----------------------------------------------------------------------------
199fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com * EAS_PEUpdateVolume()
2008a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
2018a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Purpose:
2028a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Update the volume parameters for a PCM stream
203fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com *
204dcb8e54ffdc9194744c0ec839969102bd0f582c6commit-bot@chromium.org * Inputs:
2058a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com * pEASData         - pointer to EAS library instance data
2068e3fb2d6f416eaa882d1e17421f38a3c55e2d3ffepoger@google.com * handle           - pointer to S_PCM_STATE for this stream
207dcb8e54ffdc9194744c0ec839969102bd0f582c6commit-bot@chromium.org * gainLeft         - linear gain multipler in 1.15 fraction format
208dcb8e54ffdc9194744c0ec839969102bd0f582c6commit-bot@chromium.org * gainRight        - linear gain multipler in 1.15 fraction format
209dcb8e54ffdc9194744c0ec839969102bd0f582c6commit-bot@chromium.org * initial          - initial settings, set current gain
210dcb8e54ffdc9194744c0ec839969102bd0f582c6commit-bot@chromium.org *
2118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Outputs:
2128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Side Effects:
2158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
216fab44db294846ff05d837b9cf0bf97a073891da7bungeman@google.com * Notes
2178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * In mono mode, leftGain controls the output gain and rightGain is ignored
2188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
2198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
2206cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*lint -esym(715, pEASData) reserved for future use */
2216cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEUpdateVolume (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE pState, EAS_I16 volume);
2228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
2233b429984664e88e0530eb6a1461a828898d8d96breed@google.com/*----------------------------------------------------------------------------
2243b429984664e88e0530eb6a1461a828898d8d96breed@google.com * EAS_PEUpdatePitch()
2256cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
2266cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
2278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Update the pitch parameter for a PCM stream
2288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2296cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
2306cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pEASData         - pointer to EAS library instance data
2316cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pState           - pointer to S_PCM_STATE for this stream
2326cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pitch            - new pitch value in pitch cents
2336cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
2346cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
2356cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*lint -esym(715, pEASData) reserved for future use */
2366cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEUpdatePitch (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE pState, EAS_I16 pitch);
2376cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
2386cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
2396cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * EAS_PEState()
2406cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
2418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Purpose:
2428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Returns the current state of the stream
2436cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
2448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Inputs:
2456cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pEASData         - pointer to overall EAS data structure
2466cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * handle           - pointer to file handle
2476cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pState           - pointer to variable to store state
2486cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
2498a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Outputs:
2508a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2511341304449a60713bf9c8ea2e9489f35533f037atomhudson@google.com *
2526cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
2538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2546cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Notes:
2556cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * This interface is also exposed in the internal library for use by the other modules.
2563b429984664e88e0530eb6a1461a828898d8d96breed@google.com *----------------------------------------------------------------------------
2576cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
2586cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.comEAS_RESULT EAS_PEState (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle, EAS_STATE *pState);
2596cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com
2606cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
261fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com * EAS_PEClose()
2626cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
263fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com * Purpose:
26488682b77d108a7413a166e3158e187f43211c46bbungeman@google.com * Close the file and clean up
265fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com *
2668a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Inputs:
2676cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pEASData         - pointer to overall EAS data structure
2686cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * handle           - pointer to file handle
2696cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
2706cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
2716cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
2723b429984664e88e0530eb6a1461a828898d8d96breed@google.com *
2736cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Side Effects:
2748a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2758a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
2766cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
2778a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comEAS_RESULT EAS_PEClose (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle);
2783b429984664e88e0530eb6a1461a828898d8d96breed@google.com
2793b429984664e88e0530eb6a1461a828898d8d96breed@google.com/*----------------------------------------------------------------------------
2808a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * EAS_PEReset()
2816cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
2826cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
2838a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Reset the sequencer. Used for locating backwards in the file.
2846cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
2856cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
2868a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * pEASData         - pointer to overall EAS data structure
287e490420efc931db8d2c8f397ddf704aab980295dscroggo@google.com * handle           - pointer to file handle
2886cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
2896cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
290e490420efc931db8d2c8f397ddf704aab980295dscroggo@google.com *
291e490420efc931db8d2c8f397ddf704aab980295dscroggo@google.com *
292e490420efc931db8d2c8f397ddf704aab980295dscroggo@google.com * Side Effects:
2938a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
2948a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
2958a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
2968a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comEAS_RESULT EAS_PEReset (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle);
2978a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
2988a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*----------------------------------------------------------------------------
2998a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * EAS_PEPause()
3008a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
30157f4969724a1dd88c8d9ae35a863e6cf621181d5djsollen@google.com * Purpose:
30257f4969724a1dd88c8d9ae35a863e6cf621181d5djsollen@google.com * Mute and pause rendering a PCM stream. Sets the gain target to zero and stops the playback
30357f4969724a1dd88c8d9ae35a863e6cf621181d5djsollen@google.com * at the end of the next audio frame.
30457f4969724a1dd88c8d9ae35a863e6cf621181d5djsollen@google.com *
30557f4969724a1dd88c8d9ae35a863e6cf621181d5djsollen@google.com * Inputs:
3068a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com * pEASData         - pointer to EAS library instance data
3076cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * handle           - pointer to S_PCM_STATE for this stream
3086cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
3098a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com * Outputs:
3108a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com *
3118a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com *
3128a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com * Side Effects:
3136cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
3146cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *----------------------------------------------------------------------------
3156cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com*/
3168a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.comEAS_RESULT EAS_PEPause (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle);
3178a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com
3188a85d0c4938173476d037d7af0ee3b9436a1234ereed@google.com/*----------------------------------------------------------------------------
3198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * EAS_PEResume()
3208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
3218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Purpose:
322fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com * Resume rendering a PCM stream. Sets the gain target back to its
3236cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * previous setting and restarts playback at the end of the next audio
3246cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * frame.
3253b429984664e88e0530eb6a1461a828898d8d96breed@google.com *
3266cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Inputs:
3276cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * pEASData         - pointer to EAS library instance data
3288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * handle           - pointer to S_PCM_STATE for this stream
3296cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
3306cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Outputs:
3316cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
3326cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
3333b429984664e88e0530eb6a1461a828898d8d96breed@google.com * Side Effects:
3346cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com *
3358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
3361341304449a60713bf9c8ea2e9489f35533f037atomhudson@google.com*/
3378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comEAS_RESULT EAS_PEResume (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle);
3388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
3396cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com/*----------------------------------------------------------------------------
3406cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * EAS_PERelease()
3413b429984664e88e0530eb6a1461a828898d8d96breed@google.com *----------------------------------------------------------------------------
3426cab1a4b6a68aa81237731308ff37a646d48f51cbungeman@google.com * Purpose:
3438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Put the PCM stream envelope into release.
3448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
3458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Inputs:
3468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * pEASData         - pointer to EAS library instance data
347f7751ae229378595f8013de20ca2cc60a61903d1alokp@chromium.org * handle           - pointer to S_PCM_STATE for this stream
3488a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
3493b429984664e88e0530eb6a1461a828898d8d96breed@google.com * Outputs:
3503b429984664e88e0530eb6a1461a828898d8d96breed@google.com *
3513b429984664e88e0530eb6a1461a828898d8d96breed@google.com *
3528a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Side Effects:
3538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
3548a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *----------------------------------------------------------------------------
3558a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
3568a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comEAS_RESULT EAS_PERelease (EAS_DATA_HANDLE pEASData, EAS_PCM_HANDLE handle);
3578a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
3581341304449a60713bf9c8ea2e9489f35533f037atomhudson@google.com#endif /* end _EAS_PCM_H */
3591341304449a60713bf9c8ea2e9489f35533f037atomhudson@google.com
360490fb6b4713463954cc0283a9c30e754c45c6004commit-bot@chromium.org