Initial commit - from Precise source
[freerdp-ubuntu-pcb-backport.git] / include / freerdp / plugins / tsmf.h
1 /**
2  * FreeRDP: A Remote Desktop Protocol Client
3  * Multimedia Redirection Virtual Channel Types
4  *
5  * Copyright 2011 Vic Lee
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 #ifndef __TSMF_PLUGIN
21 #define __TSMF_PLUGIN
22
23 /**
24  * Event Types
25  */
26 enum RDP_EVENT_TYPE_TSMF
27 {
28         RDP_EVENT_TYPE_TSMF_VIDEO_FRAME = 1,
29         RDP_EVENT_TYPE_TSMF_REDRAW
30 };
31
32 struct _RDP_VIDEO_FRAME_EVENT
33 {
34         RDP_EVENT event;
35         uint8* frame_data;
36         uint32 frame_size;
37         uint32 frame_pixfmt;
38         sint16 frame_width;
39         sint16 frame_height;
40         sint16 x;
41         sint16 y;
42         sint16 width;
43         sint16 height;
44         uint16 num_visible_rects;
45         RDP_RECT* visible_rects;
46 };
47 typedef struct _RDP_VIDEO_FRAME_EVENT RDP_VIDEO_FRAME_EVENT;
48
49 struct _RDP_REDRAW_EVENT
50 {
51         RDP_EVENT event;
52         sint16 x;
53         sint16 y;
54         sint16 width;
55         sint16 height;
56 };
57 typedef struct _RDP_REDRAW_EVENT RDP_REDRAW_EVENT;
58
59 /* RDP_VIDEO_FRAME_EVENT.frame_pixfmt */
60 /* http://www.fourcc.org/yuv.php */
61 #define RDP_PIXFMT_I420         0x30323449
62 #define RDP_PIXFMT_YV12         0x32315659
63
64 #endif /* __TSMF_PLUGIN */