obs-ffmpeg: Free NVENC textures after sending EOS

Prevents a crash when using the new lookahead feature, presumably
because those textures are in use when the EOS is sent.
This commit is contained in:
jp9000
2019-02-21 03:12:12 -08:00
parent 88247dae36
commit ef270c8ba0

View File

@@ -593,9 +593,6 @@ static void nvenc_destroy(void *data)
{
struct nvenc_data *enc = data;
for (size_t i = 0; i < enc->textures.num; i++) {
nv_texture_free(enc, &enc->textures.array[i]);
}
if (enc->encode_started) {
size_t next_bitstream = enc->next_bitstream;
HANDLE next_event = enc->bitstreams.array[next_bitstream].event;
@@ -606,6 +603,9 @@ static void nvenc_destroy(void *data)
nv.nvEncEncodePicture(enc->session, &params);
get_encoded_packet(enc, true);
}
for (size_t i = 0; i < enc->textures.num; i++) {
nv_texture_free(enc, &enc->textures.array[i]);
}
for (size_t i = 0; i < enc->bitstreams.num; i++) {
nv_bitstream_free(enc, &enc->bitstreams.array[i]);
}