12345678910111213141516171819202122232425262728293031323334 |
- #pragma once
- #ifdef _WIN32
- #ifdef LIBAUDIONS_EXPORTS
- #define IAUDIONSINTERFACE_API __declspec(dllexport)
- #else
- #define IAUDIONSINTERFACE_API __declspec(dllimport)
- #endif
- # elif ( defined(__GNUC__) && __GNUC__ >= 4 )
- #define IAUDIONSINTERFACE_API __attribute__((visibility("default")))
- #else // RVC_OS_WIN
- #define IAUDIONSINTERFACE_API
- #endif // RVC_OS_WIN
- #include <stdint.h>
- #include <stdarg.h>
- typedef struct audions_callback_s {
- void (*debug)(void* user_data, const char* fmt, va_list arg);
- void* user_data;
- }audions_callback_t;
- class IAudioNs
- {
- public:
- virtual int SetNsParams(uint32_t uSampleRate, uint32_t uAudioCapturePeroid, int iMode) = 0;
- virtual int NsProcess(char* pDst, uint32_t uDstLen, char* pSrc, uint32_t uSrcLen) = 0;
- virtual void ReleaseObj() = 0;
- };
- extern "C" IAUDIONSINTERFACE_API IAudioNs* CreateIAudioNsObj(audions_callback_t* pCallback);
- extern "C" IAUDIONSINTERFACE_API void DestroyIAudioNsObj(IAudioNs* pIAudioNs);
|