FreeRDP
Loading...
Searching...
No Matches
dsp_ffmpeg.h
1
21#ifndef FREERDP_LIB_CODEC_DSP_FFMPEG_H
22#define FREERDP_LIB_CODEC_DSP_FFMPEG_H
23
24#include <freerdp/api.h>
25#include <freerdp/codec/audio.h>
26#include <freerdp/codec/dsp.h>
27
28#include <libavcodec/version.h>
29
30#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57, 48, 101)
31#error \
32 "DSP module requires libavcodec version >= 57.48.101. Upgrade or set WITH_DSP_FFMPEG=OFF to continue"
33#endif
34
35FREERDP_LOCAL void freerdp_dsp_ffmpeg_context_free(FREERDP_DSP_CONTEXT* context);
36
37WINPR_ATTR_MALLOC(freerdp_dsp_ffmpeg_context_free, 1)
38WINPR_ATTR_NODISCARD
39FREERDP_LOCAL FREERDP_DSP_CONTEXT* freerdp_dsp_ffmpeg_context_new(BOOL encode);
40
41WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL
42freerdp_dsp_ffmpeg_supports_format(const AUDIO_FORMAT* format, BOOL encode);
43
44WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL freerdp_dsp_ffmpeg_encode(FREERDP_DSP_CONTEXT* context,
45 const AUDIO_FORMAT* srcFormat,
46 const BYTE* data, size_t length,
47 wStream* out);
48
49WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL freerdp_dsp_ffmpeg_decode(FREERDP_DSP_CONTEXT* context,
50 const AUDIO_FORMAT* srcFormat,
51 const BYTE* data, size_t length,
52 wStream* out);
53
54WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL
55freerdp_dsp_ffmpeg_context_reset(FREERDP_DSP_CONTEXT* context, const AUDIO_FORMAT* targetFormat);
56
57#endif /* FREERDP_LIB_CODEC_DSP_FFMPEG_H */