Browse Source

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.
jp9000 6 years ago
parent
commit
ef270c8ba0
1 changed files with 3 additions and 3 deletions
  1. 3 3
      plugins/obs-ffmpeg/jim-nvenc.c

+ 3 - 3
plugins/obs-ffmpeg/jim-nvenc.c

@@ -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]);
 	}