mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
obs-ffmpeg: Set needs_compat_ver before struct version checks
Because 4a8e8bb1bd
changed the
NVENCAPI_STRUCT_VERSION define to rely on enc->needs_compat_ver, we must
do the conditional check and define needs_compat_ver before any structs
are initialized because they will check the version when doing so by
calling NVENCAPI_STRUCT_VERSION internally.
In this case, make sure that we define enc->needs_compat_ver before
NV_ENCODE_API_FUNCTION_LIST_VER is called for
NV_ENCODE_API_FUNCTION_LIST.
This commit is contained in:
parent
8c9e4c2822
commit
24470b351a
@ -1105,6 +1105,9 @@ static void *nvenc_create_internal(enum codec_type codec, obs_data_t *settings,
|
|||||||
enc->codec = codec;
|
enc->codec = codec;
|
||||||
enc->first_packet = true;
|
enc->first_packet = true;
|
||||||
|
|
||||||
|
if (get_nvenc_ver() == COMPATIBILITY_VERSION) {
|
||||||
|
enc->needs_compat_ver = true;
|
||||||
|
}
|
||||||
NV_ENCODE_API_FUNCTION_LIST init = {NV_ENCODE_API_FUNCTION_LIST_VER};
|
NV_ENCODE_API_FUNCTION_LIST init = {NV_ENCODE_API_FUNCTION_LIST_VER};
|
||||||
|
|
||||||
switch (enc->codec) {
|
switch (enc->codec) {
|
||||||
@ -1128,9 +1131,6 @@ static void *nvenc_create_internal(enum codec_type codec, obs_data_t *settings,
|
|||||||
if (!init_d3d11(enc, settings)) {
|
if (!init_d3d11(enc, settings)) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
if (get_nvenc_ver() == COMPATIBILITY_VERSION) {
|
|
||||||
enc->needs_compat_ver = true;
|
|
||||||
}
|
|
||||||
if (!init_session(enc)) {
|
if (!init_session(enc)) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user