FreeRDP
include/freerdp/codec/dsp.h
1 
20 #ifndef FREERDP_CODEC_DSP_H
21 #define FREERDP_CODEC_DSP_H
22 
23 #include <winpr/stream.h>
24 
25 #include <freerdp/api.h>
26 #include <freerdp/codec/audio.h>
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif
32 
33  typedef struct S_FREERDP_DSP_CONTEXT FREERDP_DSP_CONTEXT;
34 
35  FREERDP_API void freerdp_dsp_context_free(FREERDP_DSP_CONTEXT* context);
36 
37  WINPR_ATTR_MALLOC(freerdp_dsp_context_free, 1)
38  FREERDP_API FREERDP_DSP_CONTEXT* freerdp_dsp_context_new(BOOL encoder);
39 
40  FREERDP_API BOOL freerdp_dsp_supports_format(const AUDIO_FORMAT* WINPR_RESTRICT format,
41  BOOL encode);
42  FREERDP_API BOOL freerdp_dsp_encode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
43  const AUDIO_FORMAT* WINPR_RESTRICT srcFormat,
44  const BYTE* WINPR_RESTRICT data, size_t length,
45  wStream* WINPR_RESTRICT out);
46  FREERDP_API BOOL freerdp_dsp_decode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
47  const AUDIO_FORMAT* WINPR_RESTRICT srcFormat,
48  const BYTE* WINPR_RESTRICT data, size_t length,
49  wStream* WINPR_RESTRICT out);
50 
51  FREERDP_API BOOL freerdp_dsp_context_reset(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context,
52  const AUDIO_FORMAT* WINPR_RESTRICT targetFormat,
53  UINT32 FramesPerPacket);
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
59 #endif /* FREERDP_CODEC_DSP_H */