summaryrefslogtreecommitdiffstats
path: root/xup
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2014-03-22 16:51:30 -0700
committerJay Sorg <jay.sorg@gmail.com>2014-03-22 16:51:30 -0700
commit575fc9fb6f3f12f43890340f0c5005ae22332b5c (patch)
treec6a95938bd6fb3752d566974f802eeeaf6e46843 /xup
parent5f7a4b46fb33d20877d78a3d9272ebb9ab5c7cf9 (diff)
downloadxrdp-proprietary-575fc9fb6f3f12f43890340f0c5005ae22332b5c.tar.gz
xrdp-proprietary-575fc9fb6f3f12f43890340f0c5005ae22332b5c.zip
work on codec mode jpeg
Diffstat (limited to 'xup')
-rw-r--r--xup/xup.c20
-rw-r--r--xup/xup.h8
2 files changed, 22 insertions, 6 deletions
diff --git a/xup/xup.c b/xup/xup.c
index 773f3da1..e0ad3619 100644
--- a/xup/xup.c
+++ b/xup/xup.c
@@ -1,7 +1,7 @@
/**
* xrdp: A Remote Desktop Protocol server.
*
- * Copyright (C) Jay Sorg 2004-2013
+ * Copyright (C) Jay Sorg 2004-2014
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -207,6 +207,7 @@ lib_mod_connect(struct mod *mod)
use_uds = 1;
}
+ error = 0;
mod->sck_closed = 0;
i = 0;
@@ -1248,14 +1249,16 @@ process_server_paint_rect_shmem_ex(struct mod *amod, struct stream *s)
rv = amod->server_paint_rects(amod, num_drects, ldrects,
num_crects, lcrects,
- bmpdata, width, height, 0);
+ bmpdata, width, height,
+ flags, frame_id);
}
else
{
rv = 1;
}
- send_paint_rect_ex_ack(amod, flags, frame_id);
+ //g_writeln("frame_id %d", frame_id);
+ //send_paint_rect_ex_ack(amod, flags, frame_id);
g_free(lcrects);
g_free(ldrects);
@@ -1587,6 +1590,16 @@ lib_mod_check_wait_objs(struct mod *mod)
}
/******************************************************************************/
+/* return error */
+int DEFAULT_CC
+lib_mod_frame_ack(struct mod *amod, int flags, int frame_id)
+{
+ LLOGLN(10, ("lib_mod_frame_ack: flags 0x%8.8x frame_id %d", flags, frame_id));
+ send_paint_rect_ex_ack(amod, flags, frame_id);
+ return 0;
+}
+
+/******************************************************************************/
struct mod *EXPORT_CC
mod_init(void)
{
@@ -1604,6 +1617,7 @@ mod_init(void)
mod->mod_set_param = lib_mod_set_param;
mod->mod_get_wait_objs = lib_mod_get_wait_objs;
mod->mod_check_wait_objs = lib_mod_check_wait_objs;
+ mod->mod_frame_ack = lib_mod_frame_ack;
return mod;
}
diff --git a/xup/xup.h b/xup/xup.h
index d8214f08..e4bbdc15 100644
--- a/xup/xup.h
+++ b/xup/xup.h
@@ -1,7 +1,7 @@
/**
* xrdp: A Remote Desktop Protocol server.
*
- * Copyright (C) Jay Sorg 2004-2013
+ * Copyright (C) Jay Sorg 2004-2014
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -44,7 +44,8 @@ struct mod
int (*mod_get_wait_objs)(struct mod* v, tbus* read_objs, int* rcount,
tbus* write_objs, int* wcount, int* timeout);
int (*mod_check_wait_objs)(struct mod* v);
- tbus mod_dumby[100 - 9]; /* align, 100 minus the number of mod
+ int (*mod_frame_ack)(struct mod* v, int flags, int frame_id);
+ tbus mod_dumby[100 - 10]; /* align, 100 minus the number of mod
functions above */
/* server functions */
int (*server_begin_update)(struct mod* v);
@@ -136,7 +137,8 @@ struct mod
int (*server_paint_rects)(struct mod* v,
int num_drects, short *drects,
int num_crects, short *crects,
- char *data, int width, int height, int flags);
+ char *data, int width, int height,
+ int flags, int frame_id);
tbus server_dumby[100 - 43]; /* align, 100 minus the number of server
functions above */