23#ifndef FREERDP_CHANNEL_AUDIN_SERVER_H
24#define FREERDP_CHANNEL_AUDIN_SERVER_H
26#include <freerdp/config.h>
28#include <freerdp/channels/audin.h>
29#include <freerdp/channels/wtsvc.h>
31#if !defined(CHANNEL_AUDIN_SERVER)
32#error "This header must not be included if CHANNEL_AUDIN_SERVER is not defined"
42 typedef BOOL (*psAudinServerChannelOpen)(audin_server_context* context);
43 typedef BOOL (*psAudinServerChannelIsOpen)(audin_server_context* context);
44 typedef BOOL (*psAudinServerChannelClose)(audin_server_context* context);
46 typedef BOOL (*psAudinServerChannelIdAssigned)(audin_server_context* context, UINT32 channelId);
48 typedef UINT (*psAudinServerVersion)(audin_server_context* context,
50 typedef UINT (*psAudinServerFormats)(audin_server_context* context,
52 typedef UINT (*psAudinServerOpen)(audin_server_context* context,
const SNDIN_OPEN* open);
53 typedef UINT (*psAudinServerOpenReply)(audin_server_context* context,
55 typedef UINT (*psAudinServerIncomingData)(audin_server_context* context,
57 typedef UINT (*psAudinServerData)(audin_server_context* context,
const SNDIN_DATA* data);
58 typedef UINT (*psAudinServerFormatChange)(audin_server_context* context,
79 WINPR_ATTR_NODISCARD psAudinServerChannelOpen
Open;
84 WINPR_ATTR_NODISCARD psAudinServerChannelIsOpen
IsOpen;
89 WINPR_ATTR_NODISCARD psAudinServerChannelClose
Close;
126 WINPR_ATTR_NODISCARD psAudinServerVersion ReceiveVersion;
131 WINPR_ATTR_NODISCARD psAudinServerFormats ReceiveFormats;
136 WINPR_ATTR_NODISCARD psAudinServerOpenReply OpenReply;
141 WINPR_ATTR_NODISCARD psAudinServerIncomingData IncomingData;
146 WINPR_ATTR_NODISCARD psAudinServerData Data;
151 WINPR_ATTR_NODISCARD psAudinServerFormatChange ReceiveFormatChange;
153 rdpContext* rdpcontext;
156 FREERDP_API
void audin_server_context_free(audin_server_context* context);
158 WINPR_ATTR_MALLOC(audin_server_context_free, 1)
160 FREERDP_API audin_server_context* audin_server_context_new(HANDLE vcm);
171 FREERDP_API BOOL audin_server_set_formats(audin_server_context* context, SSIZE_T count,
176 audin_server_get_negotiated_format(const audin_server_context* context);
WINPR_ATTR_NODISCARD psAudinServerOpen SendOpen
WINPR_ATTR_NODISCARD psAudinServerChannelOpen Open
WINPR_ATTR_NODISCARD psAudinServerFormats SendFormats
WINPR_ATTR_NODISCARD psAudinServerChannelClose Close
WINPR_ATTR_NODISCARD psAudinServerChannelIsOpen IsOpen
WINPR_ATTR_NODISCARD psAudinServerChannelIdAssigned ChannelIdAssigned
WINPR_ATTR_NODISCARD psAudinServerFormatChange SendFormatChange
WINPR_ATTR_NODISCARD psAudinServerVersion SendVersion
SNDIN_VERSION_Version serverVersion