Set different frame capture interval for H.264 and RFX

and pass them to xorgxrdp.

(cherry picked from commit c55694c51b570d84ad63bfb5dc7bdec75fee57da)
This commit is contained in:
Koichiro Iwao
2024-11-16 00:00:00 +09:00
parent b40ace381c
commit 5fb59a7c38
4 changed files with 40 additions and 1 deletions
+25
View File
@@ -191,6 +191,19 @@ lib_mod_connect(struct mod *mod)
LOG(LOG_LEVEL_INFO, "XKB rules '%s' will be used by the module",
mod->client_info.xkb_rules);
if (mod->client_info.h264_frame_interval <= 0)
{
mod->client_info.h264_frame_interval = H264_FRAME_INTERVAL;
}
if (mod->client_info.rfx_frame_interval <= 0)
{
mod->client_info.rfx_frame_interval = RFX_FRAME_INTERVAL;
}
if (mod->client_info.normal_frame_interval <= 0)
{
mod->client_info.normal_frame_interval = NORMAL_FRAME_INTERVAL;
}
make_stream(s);
g_sprintf(con_port, "%s", mod->port);
@@ -1887,6 +1900,18 @@ lib_mod_set_param(struct mod *mod, const char *name, const char *value)
{
g_snprintf(mod->keycode_set, sizeof(mod->keycode_set), "%s", value);
}
else if (g_strcasecmp(name, "h264_frame_interval") == 0)
{
mod->client_info.h264_frame_interval = g_atoi(value);
}
else if (g_strcasecmp(name, "rfx_frame_interval") == 0)
{
mod->client_info.rfx_frame_interval = g_atoi(value);
}
else if (g_strcasecmp(name, "normal_frame_interval") == 0)
{
mod->client_info.normal_frame_interval = g_atoi(value);
}
else if (g_strcasecmp(name, "client_info") == 0)
{
g_memcpy(&(mod->client_info), value, sizeof(mod->client_info));