diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 33de186..d166dff 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -2735,6 +2735,25 @@ static void switch_core_session_parse_codec_settings(switch_core_session_t *sess uint32_t system_bw = 0; const char *var = NULL, *bwv; + if ((var = switch_channel_get_variable(session->channel, "video_resolution"))) { + int width = 0, height = 0; + char *p; + + if ((width = atoi(var))) { + if ((p = strchr(var, 'x'))) { + p++; + if (*p) { + height = atoi(p); + } + } + } + + if (width != 0 && height != 0) { + engine->codec_settings.video.width = width; + engine->codec_settings.video.height = height; + } + } + if ((var = switch_channel_get_variable(session->channel, "video_try_hardware_encoder"))) { engine->codec_settings.video.try_hardware_encoder = switch_true(var); }