tsmf.h (1846B)
1/** 2 * FreeRDP: A Remote Desktop Protocol Implementation 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/* DEPRECATION WARNING: 21 * 22 * This channel is unmaintained and not used since windows 7. 23 * Only compile and use it if absolutely necessary, otherwise 24 * deactivate it or use the newer [MS-RDPEVOR] video redirection. 25 */ 26 27#ifndef FREERDP_CHANNEL_TSMF_CLIENT_TSMF_H 28#define FREERDP_CHANNEL_TSMF_CLIENT_TSMF_H 29 30#include <freerdp/codec/region.h> 31 32#include <freerdp/channels/tsmf.h> 33 34/* RDP_VIDEO_FRAME_EVENT.frame_pixfmt */ 35/* http://www.fourcc.org/yuv.php */ 36#define RDP_PIXFMT_I420 0x30323449 37#define RDP_PIXFMT_YV12 0x32315659 38 39struct _TSMF_VIDEO_FRAME_EVENT 40{ 41 BYTE* frameData; 42 UINT32 frameSize; 43 UINT32 framePixFmt; 44 INT16 frameWidth; 45 INT16 frameHeight; 46 INT16 x; 47 INT16 y; 48 INT16 width; 49 INT16 height; 50 UINT16 numVisibleRects; 51 RECTANGLE_16* visibleRects; 52}; 53typedef struct _TSMF_VIDEO_FRAME_EVENT TSMF_VIDEO_FRAME_EVENT; 54 55/** 56 * Client Interface 57 */ 58 59typedef struct _tsmf_client_context TsmfClientContext; 60 61typedef int (*pcTsmfFrameEvent)(TsmfClientContext* context, TSMF_VIDEO_FRAME_EVENT* event); 62 63struct _tsmf_client_context 64{ 65 void* handle; 66 void* custom; 67 68 pcTsmfFrameEvent FrameEvent; 69}; 70 71#endif /* FREERDP_CHANNEL_TSMF_CLIENT_TSMF_H */