msacm.h revision b955672b950093ff7416d1269dd4d3b69983bd8f
af062818b47340eef15700d2f0211576ba3506eevboxsync * Declarations for MSACM
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) the Wine project
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * other than GPL or LGPL is available it will apply instead, Sun elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* defined(__cplusplus) */
af062818b47340eef15700d2f0211576ba3506eevboxsync/***********************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
af062818b47340eef15700d2f0211576ba3506eevboxsync# define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \
af062818b47340eef15700d2f0211576ba3506eevboxsyncstatic const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m',
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
af062818b47340eef15700d2f0211576ba3506eevboxsync# define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \
af062818b47340eef15700d2f0211576ba3506eevboxsync 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }
af062818b47340eef15700d2f0211576ba3506eevboxsync# define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
af062818b47340eef15700d2f0211576ba3506eevboxsyncstatic const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m',
af062818b47340eef15700d2f0211576ba3506eevboxsync 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
af062818b47340eef15700d2f0211576ba3506eevboxsync# define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \
af062818b47340eef15700d2f0211576ba3506eevboxsync 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }
af062818b47340eef15700d2f0211576ba3506eevboxsync# define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
af062818b47340eef15700d2f0211576ba3506eevboxsyncstatic const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m',
af062818b47340eef15700d2f0211576ba3506eevboxsync 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
af062818b47340eef15700d2f0211576ba3506eevboxsync/* handles */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef HACMDRIVERID *PHACMDRIVERID, *LPHACMDRIVERID;
af062818b47340eef15700d2f0211576ba3506eevboxsync/***********************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * Callbacks
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
af062818b47340eef15700d2f0211576ba3506eevboxsync/***********************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * Structures
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
af062818b47340eef15700d2f0211576ba3506eevboxsync CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
af062818b47340eef15700d2f0211576ba3506eevboxsync WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
af062818b47340eef15700d2f0211576ba3506eevboxsync} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
af062818b47340eef15700d2f0211576ba3506eevboxsync/***********************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * Callbacks 2
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
af062818b47340eef15700d2f0211576ba3506eevboxsync/***********************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * Functions - Win32
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
af062818b47340eef15700d2f0211576ba3506eevboxsync PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
af062818b47340eef15700d2f0211576ba3506eevboxsync#define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
af062818b47340eef15700d2f0211576ba3506eevboxsync PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
af062818b47340eef15700d2f0211576ba3506eevboxsync PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
af062818b47340eef15700d2f0211576ba3506eevboxsync HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
af062818b47340eef15700d2f0211576ba3506eevboxsync} /* extern "C" */
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* defined(__cplusplus) */
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* __WINE_MSACM_H */