FreeRDP
Loading...
Searching...
No Matches
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
29extern "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 */