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