ALIGN64 boolean jpeg_codec; /* 286 */
ALIGN64 uint32 jpeg_codec_id; /* 287 */
ALIGN64 uint32 jpeg_quality; /* 288 */
- ALIGN64 uint32 preferred_codec_id; /* 289 */
+ ALIGN64 uint32 v3_codec_id; /* 289 */
ALIGN64 uint64 paddingM[296 - 290]; /* 290 */
/* Recording */
stream_seek_uint32(s); /* (4 bytes) */
}
+void rdp_read_bitmap_cache_v3_codec_id_capability_set(STREAM* s, uint16 length, rdpSettings* settings)
+{
+ stream_seek_uint8(s); /* (1 byte) */
+}
+
+void rdp_write_bitmap_cache_v3_codec_id_capability_set(STREAM* s, rdpSettings* settings)
+{
+ uint8* header;
+
+ header = rdp_capability_set_start(s);
+ stream_write_uint8(s, settings->v3_codec_id);
+ rdp_capability_set_finish(s, header, 6);
+}
+
+
/**
* Write frame acknowledge capability set.\n
* @param s stream
rdp_read_frame_acknowledge_capability_set(s, length, settings);
break;
+ case 6:
+ rdp_read_bitmap_cache_v3_codec_id_capability_set(s, length, settings);
+ break;
+
default:
printf("unknown capability type %d\n", type);
break;
}
}
+ if (settings->received_caps[6])
+ {
+ if (settings->v3_codec_id != 0)
+ {
+ numberCapabilities++;
+ rdp_write_bitmap_cache_v3_codec_id_capability_set(s, settings);
+ }
+ }
+
stream_get_mark(s, em);
stream_set_mark(s, lm); /* go back to lengthCombinedCapabilities */
if (strcmp("rfx", argv[index]) == 0)
{
printf("setting rfx\n");
- settings->preferred_codec_id = CODEC_ID_REMOTEFX;
+ settings->v3_codec_id = CODEC_ID_REMOTEFX;
}
else if (strcmp("nsc", argv[index]) == 0)
{
printf("setting codec nsc\n");
- settings->preferred_codec_id = CODEC_ID_NSCODEC;
+ settings->v3_codec_id = CODEC_ID_NSCODEC;
}
else if (strcmp("jpeg", argv[index]) == 0)
{
printf("setting codec jpeg\n");
- settings->preferred_codec_id = CODEC_ID_JPEG;
+ settings->v3_codec_id = CODEC_ID_JPEG;
}
}
else if (strcmp("--jpeg", argv[index]) == 0)