/** * Function description * * @return 0 on success, otherwise a Win32 error code */ static UINT xf_SurfaceCommand(RdpgfxClientContext* context, RDPGFX_SURFACE_COMMAND* cmd) { UINT status = CHANNEL_RC_OK; xfContext* xfc = (xfContext*) context->custom; switch (cmd->codecId) { case RDPGFX_CODECID_UNCOMPRESSED: status = xf_SurfaceCommand_Uncompressed(xfc, context, cmd); break; case RDPGFX_CODECID_CAVIDEO: status = xf_SurfaceCommand_RemoteFX(xfc, context, cmd); break; case RDPGFX_CODECID_CLEARCODEC: status = xf_SurfaceCommand_ClearCodec(xfc, context, cmd); break; case RDPGFX_CODECID_PLANAR: status = xf_SurfaceCommand_Planar(xfc, context, cmd); break; case RDPGFX_CODECID_AVC420: status = xf_SurfaceCommand_AVC420(xfc, context, cmd); break; case RDPGFX_CODECID_AVC444: status = xf_SurfaceCommand_AVC444(xfc, context, cmd); break; case RDPGFX_CODECID_ALPHA: status = xf_SurfaceCommand_Alpha(xfc, context, cmd); break; case RDPGFX_CODECID_CAPROGRESSIVE: status = xf_SurfaceCommand_Progressive(xfc, context, cmd); break; case RDPGFX_CODECID_CAPROGRESSIVE_V2: WLog_WARN(TAG, "SurfaceCommand %08X not implemented", cmd->codecId); break; default: WLog_WARN(TAG, "Invalid SurfaceCommand %08X", cmd->codecId); break; } return status; }
int xf_SurfaceCommand(RdpgfxClientContext* context, RDPGFX_SURFACE_COMMAND* cmd) { int status = 1; xfContext* xfc = (xfContext*) context->custom; switch (cmd->codecId) { case RDPGFX_CODECID_UNCOMPRESSED: status = xf_SurfaceCommand_Uncompressed(xfc, context, cmd); break; case RDPGFX_CODECID_CAVIDEO: status = xf_SurfaceCommand_RemoteFX(xfc, context, cmd); break; case RDPGFX_CODECID_CLEARCODEC: status = xf_SurfaceCommand_ClearCodec(xfc, context, cmd); break; case RDPGFX_CODECID_PLANAR: status = xf_SurfaceCommand_Planar(xfc, context, cmd); break; case RDPGFX_CODECID_H264: status = xf_SurfaceCommand_H264(xfc, context, cmd); break; case RDPGFX_CODECID_ALPHA: status = xf_SurfaceCommand_Alpha(xfc, context, cmd); break; case RDPGFX_CODECID_CAPROGRESSIVE: status = xf_SurfaceCommand_Progressive(xfc, context, cmd); break; case RDPGFX_CODECID_CAPROGRESSIVE_V2: break; } return 1; }