dsp.h (1740B)
1/** 2 * FreeRDP: A Remote Desktop Protocol Implementation 3 * Digital Sound Processing 4 * 5 * Copyright 2010-2011 Vic Lee 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 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 28typedef struct _FREERDP_DSP_CONTEXT FREERDP_DSP_CONTEXT; 29 30#ifdef __cplusplus 31extern "C" 32{ 33#endif 34 35 FREERDP_API FREERDP_DSP_CONTEXT* freerdp_dsp_context_new(BOOL encoder); 36 FREERDP_API BOOL freerdp_dsp_supports_format(const AUDIO_FORMAT* format, BOOL encode); 37 FREERDP_API BOOL freerdp_dsp_encode(FREERDP_DSP_CONTEXT* context, const AUDIO_FORMAT* srcFormat, 38 const BYTE* data, size_t length, wStream* out); 39 FREERDP_API BOOL freerdp_dsp_decode(FREERDP_DSP_CONTEXT* context, const AUDIO_FORMAT* srcFormat, 40 const BYTE* data, size_t length, wStream* out); 41 FREERDP_API void freerdp_dsp_context_free(FREERDP_DSP_CONTEXT* context); 42 FREERDP_API BOOL freerdp_dsp_context_reset(FREERDP_DSP_CONTEXT* context, 43 const AUDIO_FORMAT* targetFormat); 44 45#ifdef __cplusplus 46} 47#endif 48 49#endif /* FREERDP_CODEC_DSP_H */