23#include <freerdp/config.h>
25#include <winpr/assert.h>
31#include <freerdp/server/server-common.h>
32#include <freerdp/log.h>
33#define TAG SERVER_TAG("sample")
35#if defined(CHANNEL_AUDIN_SERVER)
37static UINT sf_peer_audin_data(WINPR_ATTR_UNUSED audin_server_context* audin,
44 WLog_WARN(TAG,
"not implemented");
45 WLog_DBG(TAG,
"receive %" PRIdz
" bytes.", Stream_Length(data->Data));
51BOOL sf_peer_audin_init(testPeerContext* context)
53 WINPR_ASSERT(context);
54#if defined(CHANNEL_AUDIN_SERVER)
55 context->audin = audin_server_context_new(context->vcm);
56 WINPR_ASSERT(context->audin);
58 context->audin->rdpcontext = &context->_p;
59 context->audin->userdata = context;
61 context->audin->Data = sf_peer_audin_data;
63 return audin_server_set_formats(context->audin, -1, NULL);
69BOOL sf_peer_audin_start(testPeerContext* context)
71#if defined(CHANNEL_AUDIN_SERVER)
72 if (!context || !context->audin || !context->audin->Open)
75 return context->audin->Open(context->audin);
81BOOL sf_peer_audin_stop(testPeerContext* context)
83#if defined(CHANNEL_AUDIN_SERVER)
84 if (!context || !context->audin || !context->audin->Close)
87 return context->audin->Close(context->audin);
93BOOL sf_peer_audin_running(testPeerContext* context)
95#if defined(CHANNEL_AUDIN_SERVER)
96 if (!context || !context->audin || !context->audin->IsOpen)
99 return context->audin->IsOpen(context->audin);
105void sf_peer_audin_uninit(testPeerContext* context)
107 WINPR_ASSERT(context);
109#if defined(CHANNEL_AUDIN_SERVER)
110 audin_server_context_free(context->audin);
111 context->audin = NULL;