20 #ifndef FREERDP_CODEC_DSP_H
21 #define FREERDP_CODEC_DSP_H
23 #include <winpr/stream.h>
25 #include <freerdp/api.h>
26 #include <freerdp/codec/audio.h>
33 typedef struct S_FREERDP_DSP_CONTEXT FREERDP_DSP_CONTEXT;
35 FREERDP_API
void freerdp_dsp_context_free(FREERDP_DSP_CONTEXT* context);
37 WINPR_ATTR_MALLOC(freerdp_dsp_context_free, 1)
38 FREERDP_API FREERDP_DSP_CONTEXT* freerdp_dsp_context_new(BOOL encoder);
40 FREERDP_API BOOL freerdp_dsp_supports_format(const
AUDIO_FORMAT* WINPR_RESTRICT format,
42 FREERDP_API BOOL freerdp_dsp_encode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
44 const BYTE* WINPR_RESTRICT data,
size_t length,
46 FREERDP_API BOOL freerdp_dsp_decode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
48 const BYTE* WINPR_RESTRICT data,
size_t length,
51 FREERDP_API BOOL freerdp_dsp_context_reset(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
53 UINT32 FramesPerPacket);