@@ -349,6 +349,7 @@ PYBIND11_MODULE(NDIlib, m) {
349349 [](py::capsule instance, uint32_t timeout_in_ms) {
350350 auto p_instance =
351351 static_cast <NDIlib_find_instance_type *>(instance.get_pointer ());
352+ py::gil_scoped_release release;
352353 return NDIlib_find_wait_for_sources (p_instance, timeout_in_ms);
353354 },
354355 py::arg (" instance" ), py::arg (" timeout_in_ms" ));
@@ -458,6 +459,7 @@ PYBIND11_MODULE(NDIlib, m) {
458459 [](py::capsule instance, uint32_t timeout_in_ms) {
459460 auto p_instance =
460461 static_cast <NDIlib_recv_instance_type *>(instance.get_pointer ());
462+ py::gil_scoped_release release;
461463 NDIlib_video_frame_v2_t video_frame;
462464 NDIlib_audio_frame_v2_t audio_frame;
463465 NDIlib_metadata_frame_t metadata_frame;
@@ -475,6 +477,7 @@ PYBIND11_MODULE(NDIlib, m) {
475477 [](py::capsule instance, uint32_t timeout_in_ms) {
476478 auto p_instance =
477479 static_cast <NDIlib_recv_instance_type *>(instance.get_pointer ());
480+ py::gil_scoped_release release;
478481 NDIlib_video_frame_v2_t video_frame;
479482 NDIlib_audio_frame_v3_t audio_frame;
480483 NDIlib_metadata_frame_t metadata_frame;
@@ -963,6 +966,7 @@ PYBIND11_MODULE(NDIlib, m) {
963966 uint32_t timeout_in_ms) {
964967 auto p_instance =
965968 static_cast <NDIlib_send_instance_type *>(instance.get_pointer ());
969+ py::gil_scoped_release release;
966970 NDIlib_send_capture (p_instance, p_metadata, timeout_in_ms);
967971 },
968972 py::arg (" instance" ), py::arg (" metadata" ), py::arg (" timeout_in_ms" ));
@@ -982,6 +986,7 @@ PYBIND11_MODULE(NDIlib, m) {
982986 uint32_t timeout_in_ms) {
983987 auto p_instance =
984988 static_cast <NDIlib_send_instance_type *>(instance.get_pointer ());
989+ py::gil_scoped_release release;
985990 return NDIlib_send_get_tally (p_instance, p_tally, timeout_in_ms);
986991 },
987992 py::arg (" instance" ), py::arg (" tally" ), py::arg (" timeout_in_ms" ));
@@ -991,6 +996,7 @@ PYBIND11_MODULE(NDIlib, m) {
991996 [](py::capsule instance, uint32_t timeout_in_ms) {
992997 auto p_instance =
993998 static_cast <NDIlib_send_instance_type *>(instance.get_pointer ());
999+ py::gil_scoped_release release;
9941000 return NDIlib_send_get_no_connections (p_instance, timeout_in_ms);
9951001 },
9961002 py::arg (" instance" ), py::arg (" timeout_in_ms" ));
@@ -1104,6 +1110,7 @@ PYBIND11_MODULE(NDIlib, m) {
11041110 [](py::capsule instance, uint32_t timeout_in_ms) {
11051111 auto p_instance =
11061112 static_cast <NDIlib_routing_instance_type *>(instance.get_pointer ());
1113+ py::gil_scoped_release release;
11071114 return NDIlib_routing_get_no_connections (p_instance, timeout_in_ms);
11081115 },
11091116 py::arg (" instance" ), py::arg (" timeout_in_ms" ));
0 commit comments