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)
39 FREERDP_API FREERDP_DSP_CONTEXT* freerdp_dsp_context_new(BOOL encoder);
41 FREERDP_API BOOL freerdp_dsp_supports_format(const
AUDIO_FORMAT* WINPR_RESTRICT format,
43 FREERDP_API BOOL freerdp_dsp_encode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
45 const BYTE* WINPR_RESTRICT data,
size_t length,
47 FREERDP_API BOOL freerdp_dsp_decode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
49 const BYTE* WINPR_RESTRICT data,
size_t length,
52 FREERDP_API BOOL freerdp_dsp_context_reset(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
54 UINT32 FramesPerPacket);