20#ifndef FREERDP_SERVER_MAC_RDPSND_H
21#define FREERDP_SERVER_MAC_RDPSND_H
23#include <CoreAudio/CoreAudio.h>
24#include <AudioToolbox/AudioToolbox.h>
26#include <freerdp/freerdp.h>
27#include <freerdp/listener.h>
28#include <freerdp/server/rdpsnd.h>
33void mf_rdpsnd_derive_buffer_size(AudioQueueRef audioQueue,
34 AudioStreamBasicDescription* ASBDescription, Float64 seconds,
35 UInt32* outBufferSize);
37void mf_peer_rdpsnd_input_callback(
void* inUserData, AudioQueueRef inAQ,
38 AudioQueueBufferRef inBuffer,
const AudioTimeStamp* inStartTime,
39 UInt32 inNumberPacketDescriptions,
40 const AudioStreamPacketDescription* inPacketDescs);
42#define SND_NUMBUFFERS 3
45 AudioStreamBasicDescription dataFormat;
47 AudioQueueBufferRef buffers[SND_NUMBUFFERS];
48 AudioFileID audioFile;
49 UInt32 bufferByteSize;
52 RdpsndServerContext* snd_context;
55BOOL mf_peer_rdpsnd_init(mfPeerContext* context);
56BOOL mf_peer_rdpsnd_stop(
void);