Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/NeutrinoRDP.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2015-02-07 05:05:54 +0300
committerJay Sorg <jay.sorg@gmail.com>2015-02-07 05:05:54 +0300
commitb76525c18c9c9aac6a4eb6f62ad93c1b8effe89e (patch)
treed21707925009bd4fec1b547e3fa97f58388c00a2
parentc2347e901c9d13314ae4fe539b94b04ca41061cf (diff)
work on h264 codec surface command
-rw-r--r--client/X11/xf_gdi.c13
-rw-r--r--include/freerdp/constants.h3
-rw-r--r--libfreerdp-core/capabilities.c2
3 files changed, 17 insertions, 1 deletions
diff --git a/client/X11/xf_gdi.c b/client/X11/xf_gdi.c
index e37ca6b..a2efe64 100644
--- a/client/X11/xf_gdi.c
+++ b/client/X11/xf_gdi.c
@@ -652,6 +652,19 @@ void xf_gdi_surface_bits(rdpContext* context, SURFACE_BITS_COMMAND* surface_bits
if (surface_bits_command->codecID == CODEC_ID_H264)
{
+ STREAM* s;
+ int num_rects;
+ int h264_bytes;
+
+ s = stream_new(0);
+ stream_attach(s, surface_bits_command->bitmapData, surface_bits_command->bitmapDataLength);
+ stream_read_uint16(s, num_rects);
+ stream_seek(s, num_rects * 8);
+ stream_read_uint32(s, h264_bytes);
+ stream_attach(s, 0, 0);
+ stream_free(s);
+ printf("h264 bytes %d num_rects %d h264_bytes %d\n",
+ surface_bits_command->bitmapDataLength, num_rects, h264_bytes);
}
else if (surface_bits_command->codecID == CODEC_ID_JPEG)
{
diff --git a/include/freerdp/constants.h b/include/freerdp/constants.h
index ff04cf7..2cb80d2 100644
--- a/include/freerdp/constants.h
+++ b/include/freerdp/constants.h
@@ -30,7 +30,8 @@ enum RDP_CODEC_ID
CODEC_ID_NSCODEC = 0x01,
CODEC_ID_JPEG = 0x02,
CODEC_ID_REMOTEFX = 0x03,
- CODEC_ID_H264 = 0x04
+ CODEC_ID_PNG = 0x04,
+ CODEC_ID_H264 = 0x05
};
/**
diff --git a/libfreerdp-core/capabilities.c b/libfreerdp-core/capabilities.c
index dfb2dba..6332802 100644
--- a/libfreerdp-core/capabilities.c
+++ b/libfreerdp-core/capabilities.c
@@ -1593,6 +1593,8 @@ void rdp_write_bitmap_codecs_capability_set(STREAM* s, rdpSettings* settings)
bitmapCodecCount++;
if (settings->jpeg_codec)
bitmapCodecCount++;
+ if (settings->h264_codec)
+ bitmapCodecCount++;
stream_write_uint8(s, bitmapCodecCount);