Merge branch 'devel' of github.com:neutrinolabs/xrdp into devel
This commit is contained in:
commit
d0c2fd08f6
@ -40,7 +40,7 @@ AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--enable-jpeg],
|
||||
[jpeg=true], [jpeg=false])
|
||||
AM_CONDITIONAL(XRDP_JPEG, [test x$jpeg = xtrue])
|
||||
AC_ARG_ENABLE(tjpeg, AS_HELP_STRING([--enable-tjpeg],
|
||||
[Build turbo jpeg module(assumes /opt/libjpeg-turbo) (default: no)]),
|
||||
[Build turbo jpeg module (default: no)]),
|
||||
[tjpeg=true], [tjpeg=false])
|
||||
AM_CONDITIONAL(XRDP_TJPEG, [test x$tjpeg = xtrue])
|
||||
|
||||
|
@ -1923,6 +1923,61 @@ xrdp_mm_get_wait_objs(struct xrdp_mm *self,
|
||||
return rv;
|
||||
}
|
||||
|
||||
#define DUMP_JPEG 0
|
||||
|
||||
#if DUMP_JPEG
|
||||
|
||||
/*****************************************************************************/
|
||||
static int APP_CC
|
||||
xrdp_mm_dump_jpeg(struct xrdp_mm *self, XRDP_ENC_DATA_DONE *enc_done)
|
||||
{
|
||||
static tbus ii;
|
||||
static int jj;
|
||||
struct _header
|
||||
{
|
||||
char tag[4];
|
||||
int width;
|
||||
int height;
|
||||
int bytes_follow;
|
||||
} header;
|
||||
tui16 *pheader_bytes;
|
||||
int cx;
|
||||
int cy;
|
||||
|
||||
pheader_bytes = (tui16 *) (enc_done->comp_pad_data + enc_done->pad_bytes);
|
||||
|
||||
cx = enc_done->enc->crects[enc_done->index * 4 + 2];
|
||||
cy = enc_done->enc->crects[enc_done->index * 4 + 3];
|
||||
|
||||
header.tag[0] = 'B';
|
||||
header.tag[1] = 'E';
|
||||
header.tag[2] = 'E';
|
||||
header.tag[3] = 'F';
|
||||
header.width = cx;
|
||||
header.height = cy;
|
||||
header.bytes_follow = enc_done->comp_bytes - (2 + pheader_bytes[0]);
|
||||
if (ii == 0)
|
||||
{
|
||||
ii = g_file_open("/tmp/jpeg.beef.bin");
|
||||
if (ii == -1)
|
||||
{
|
||||
ii = 0;
|
||||
}
|
||||
}
|
||||
if (ii != 0)
|
||||
{
|
||||
g_file_write(ii, (char*)&header, sizeof(header));
|
||||
g_file_write(ii, enc_done->comp_pad_data +
|
||||
enc_done->pad_bytes + 2 + pheader_bytes[0],
|
||||
enc_done->comp_bytes - (2 + pheader_bytes[0]));
|
||||
jj++;
|
||||
g_writeln("dumping jpeg index %d", jj);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*****************************************************************************/
|
||||
int APP_CC
|
||||
xrdp_mm_check_wait_objs(struct xrdp_mm *self)
|
||||
@ -1995,23 +2050,16 @@ xrdp_mm_check_wait_objs(struct xrdp_mm *self)
|
||||
/* do something with msg */
|
||||
LLOGLN(10, ("xrdp_mm_check_wait_objs: message back bytes %d",
|
||||
enc_done->comp_bytes));
|
||||
if (0)
|
||||
{
|
||||
tbus ii;
|
||||
static int jj;
|
||||
char text[256];
|
||||
|
||||
g_snprintf(text, 255, "/tmp/jj0x%8.8x.jpg", jj);
|
||||
jj++;
|
||||
ii = g_file_open(text);
|
||||
g_file_write(ii, enc_done->comp_pad_data + enc_done->pad_bytes, enc_done->comp_bytes);
|
||||
g_file_close(ii);
|
||||
}
|
||||
|
||||
x = enc_done->enc->crects[enc_done->index * 4 + 0];
|
||||
y = enc_done->enc->crects[enc_done->index * 4 + 1];
|
||||
cx = enc_done->enc->crects[enc_done->index * 4 + 2];
|
||||
cy = enc_done->enc->crects[enc_done->index * 4 + 3];
|
||||
|
||||
#if DUMP_JPEG
|
||||
xrdp_mm_dump_jpeg(self, enc_done);
|
||||
#endif
|
||||
|
||||
libxrdp_fastpath_send_surface(self->wm->session,
|
||||
enc_done->comp_pad_data,
|
||||
enc_done->pad_bytes,
|
||||
|
Loading…
Reference in New Issue
Block a user