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)
38static UINT sf_peer_audin_data(WINPR_ATTR_UNUSED audin_server_context* audin,
45 WLog_WARN(TAG,
"not implemented");
46 WLog_DBG(TAG,
"receive %" PRIuz
" bytes.", Stream_Length(data->Data));
52BOOL sf_peer_audin_init(testPeerContext* context)
54 WINPR_ASSERT(context);
55#if defined(CHANNEL_AUDIN_SERVER)
56 context->audin = audin_server_context_new(context->vcm);
57 WINPR_ASSERT(context->audin);
59 context->audin->rdpcontext = &context->_p;
60 context->audin->userdata = context;
62 context->audin->Data = sf_peer_audin_data;
64 return audin_server_set_formats(context->audin, -1,
nullptr);
70BOOL sf_peer_audin_start(testPeerContext* context)
72#if defined(CHANNEL_AUDIN_SERVER)
73 if (!context || !context->audin || !context->audin->Open)
76 return context->audin->Open(context->audin);
82BOOL sf_peer_audin_stop(testPeerContext* context)
84#if defined(CHANNEL_AUDIN_SERVER)
85 if (!context || !context->audin || !context->audin->Close)
88 return context->audin->Close(context->audin);
94BOOL sf_peer_audin_running(testPeerContext* context)
96#if defined(CHANNEL_AUDIN_SERVER)
97 if (!context || !context->audin || !context->audin->IsOpen)
100 return context->audin->IsOpen(context->audin);
106void sf_peer_audin_uninit(testPeerContext* context)
108 WINPR_ASSERT(context);
110#if defined(CHANNEL_AUDIN_SERVER)
111 audin_server_context_free(context->audin);
112 context->audin =
nullptr;