20 #ifndef FREERDP_CHANNELS_CLIENT_VIDEO_H
21 #define FREERDP_CHANNELS_CLIENT_VIDEO_H
23 #include <freerdp/client/geometry.h>
24 #include <freerdp/channels/video.h>
32 typedef struct s_VideoClientContextPriv VideoClientContextPriv;
38 UINT32 alignedWidth, alignedHeight;
44 typedef void (*pcVideoTimer)(VideoClientContext* video, UINT64 now);
45 typedef void (*pcVideoSetGeometry)(VideoClientContext* video, GeometryClientContext* geometry);
46 typedef VideoSurface* (*pcVideoCreateSurface)(VideoClientContext* video, UINT32 x, UINT32 y,
47 UINT32 width, UINT32 height);
48 typedef BOOL (*pcVideoShowSurface)(VideoClientContext* video,
const VideoSurface* surface,
49 UINT32 destinationWidth, UINT32 destinationHeight);
50 typedef BOOL (*pcVideoDeleteSurface)(VideoClientContext* video,
VideoSurface* surface);
57 VideoClientContextPriv* priv;
59 pcVideoSetGeometry setGeometry;
61 pcVideoCreateSurface createSurface;
62 pcVideoShowSurface showSurface;
63 pcVideoDeleteSurface deleteSurface;
66 FREERDP_API
VideoSurface* VideoClient_CreateCommonContext(
size_t size, UINT32 x, UINT32 y,
68 FREERDP_API
void VideoClient_DestroyCommonContext(
VideoSurface* surface);
an implementation of surface used by the video channel
context for the video (MS-RDPEVOR) channel