19#ifndef FREERDP_SERVER_SHADOW_MAC_CAPTURE_H
20#define FREERDP_SERVER_SHADOW_MAC_CAPTURE_H
22#include <winpr/wtypes.h>
24#include <CoreGraphics/CoreGraphics.h>
25#include <CoreVideo/CoreVideo.h>
29typedef struct mac_capture macCapture;
34typedef void (*macCaptureFrameFn)(
void *context, CVPixelBufferRef frame,
const CGRect *dirty,
38typedef void (*macCaptureAudioFn)(
void *context,
const float *samples,
size_t frames,
39 UINT32 channels, UINT32 rate);
42typedef void (*macCaptureStoppedFn)(
void *context);
46 CGDirectDisplayID display;
54 macCaptureFrameFn onFrame;
55 macCaptureAudioFn onAudio;
56 macCaptureStoppedFn onStopped;
68 BOOL mac_capture_check_access(
void);
70 void mac_capture_free(macCapture *capture);
72 WINPR_ATTR_MALLOC(mac_capture_free, 1)
76 BOOL mac_capture_start(macCapture *capture);
78 void mac_capture_stop(macCapture *capture);