change capture_code to enum

This commit is contained in:
Jay Sorg 2024-05-14 23:10:53 -07:00
parent 96ff6fdba8
commit 112a534f4c
2 changed files with 18 additions and 7 deletions

View File

@ -74,6 +74,16 @@ enum client_resize_mode
CRMODE_MULTI_SCREEN CRMODE_MULTI_SCREEN
}; };
enum xrdp_capture_code
{
CC_SIMPLE = 0,
CC_SUF_A16 = 1,
CC_SUF_RFX = 2,
CC_SUF_A2 = 3,
CC_GFX_PRO = 4,
CC_GFX_A2 = 5
};
/** /**
* Type describing Unicode input state * Type describing Unicode input state
*/ */
@ -179,7 +189,7 @@ struct xrdp_client_info
int mcs_early_capability_flags; int mcs_early_capability_flags;
int max_fastpath_frag_bytes; int max_fastpath_frag_bytes;
int capture_code; int old_capture_code;
int capture_format; int capture_format;
char certificate[1024]; char certificate[1024];
@ -239,6 +249,7 @@ struct xrdp_client_info
enum client_resize_mode client_resize_mode; enum client_resize_mode client_resize_mode;
enum unicode_input_state unicode_input_support; enum unicode_input_state unicode_input_support;
enum xrdp_capture_code capture_code;
}; };
enum xrdp_encoder_flags enum xrdp_encoder_flags
@ -258,6 +269,6 @@ enum xrdp_encoder_flags
/* yyyymmdd of last incompatible change to xrdp_client_info */ /* yyyymmdd of last incompatible change to xrdp_client_info */
/* also used for changes to all the xrdp installed headers */ /* also used for changes to all the xrdp installed headers */
#define CLIENT_INFO_CURRENT_VERSION 20230425 #define CLIENT_INFO_CURRENT_VERSION 20240514
#endif #endif

View File

@ -141,7 +141,7 @@ xrdp_encoder_create(struct xrdp_mm *mm)
self->codec_id = client_info->jpeg_codec_id; self->codec_id = client_info->jpeg_codec_id;
self->in_codec_mode = 1; self->in_codec_mode = 1;
self->codec_quality = client_info->jpeg_prop[0]; self->codec_quality = client_info->jpeg_prop[0];
client_info->capture_code = 0; client_info->capture_code = CC_SIMPLE;
client_info->capture_format = XRDP_a8b8g8r8; client_info->capture_format = XRDP_a8b8g8r8;
self->process_enc = process_enc_jpg; self->process_enc = process_enc_jpg;
} }
@ -151,7 +151,7 @@ xrdp_encoder_create(struct xrdp_mm *mm)
LOG(LOG_LEVEL_INFO, LOG(LOG_LEVEL_INFO,
"xrdp_encoder_create: starting h264 codec session gfx"); "xrdp_encoder_create: starting h264 codec session gfx");
self->in_codec_mode = 1; self->in_codec_mode = 1;
client_info->capture_code = 5; client_info->capture_code = CC_GFX_A2;
client_info->capture_format = XRDP_nv12_709fr; client_info->capture_format = XRDP_nv12_709fr;
self->gfx = 1; self->gfx = 1;
} }
@ -160,7 +160,7 @@ xrdp_encoder_create(struct xrdp_mm *mm)
LOG(LOG_LEVEL_INFO, "xrdp_encoder_create: starting h264 codec session"); LOG(LOG_LEVEL_INFO, "xrdp_encoder_create: starting h264 codec session");
self->codec_id = client_info->h264_codec_id; self->codec_id = client_info->h264_codec_id;
self->in_codec_mode = 1; self->in_codec_mode = 1;
client_info->capture_code = 3; client_info->capture_code = CC_SUF_A2;
client_info->capture_format = XRDP_nv12; client_info->capture_format = XRDP_nv12;
self->process_enc = process_enc_h264; self->process_enc = process_enc_h264;
} }
@ -171,7 +171,7 @@ xrdp_encoder_create(struct xrdp_mm *mm)
LOG(LOG_LEVEL_INFO, LOG(LOG_LEVEL_INFO,
"xrdp_encoder_create: starting gfx rfx pro codec session"); "xrdp_encoder_create: starting gfx rfx pro codec session");
self->in_codec_mode = 1; self->in_codec_mode = 1;
client_info->capture_code = 4; client_info->capture_code = CC_GFX_PRO;
self->gfx = 1; self->gfx = 1;
self->quants = (const char *) g_rfx_quantization_values; self->quants = (const char *) g_rfx_quantization_values;
self->num_quants = 2; self->num_quants = 2;
@ -184,7 +184,7 @@ xrdp_encoder_create(struct xrdp_mm *mm)
LOG(LOG_LEVEL_INFO, "xrdp_encoder_create: starting rfx codec session"); LOG(LOG_LEVEL_INFO, "xrdp_encoder_create: starting rfx codec session");
self->codec_id = client_info->rfx_codec_id; self->codec_id = client_info->rfx_codec_id;
self->in_codec_mode = 1; self->in_codec_mode = 1;
client_info->capture_code = 2; client_info->capture_code = CC_SUF_RFX;
self->process_enc = process_enc_rfx; self->process_enc = process_enc_rfx;
self->codec_handle_rfx = rfxcodec_encode_create(mm->wm->screen->width, self->codec_handle_rfx = rfxcodec_encode_create(mm->wm->screen->width,
mm->wm->screen->height, mm->wm->screen->height,