gstreamer/subprojects/gst-plugins-bad/sys/nvcodec
James Oliver bd37947254 nvcodec: fix invalidated std::set::iterator usage
As per the C++ standard, any usage of a std::set::iterator after it has
been erased from the collection results in undefined behaviour. This has
resulted in application crashes due to CUDA illegal address errors.

This commit fixes the issue by copying and incrementing the iterator
within any for-loops that also invoke std::set::erase.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8472>
2025-02-13 15:18:10 +00:00
..
cuviddec.h nvcodec: Update SDK header to 12.0.16 2024-05-15 14:35:52 +00:00
gstcudabasetransform.c cudabasetransform: Handle video related meta as appropriate 2023-05-31 20:09:42 +00:00
gstcudabasetransform.h nvcodec: Port to GstCudaStream 2023-02-03 15:27:42 +00:00
gstcudacompositor.cpp cudacompositor: pass correct variable to debug log functions 2025-01-23 17:18:46 +00:00
gstcudacompositor.h nvcodec: Add cudacompositor element 2025-01-20 01:12:21 +09:00
gstcudaconverter.cpp cudaconverter: Add support for alpha blending 2025-01-20 01:12:21 +09:00
gstcudaconverter.h cudaconverter: Add support for configuration update 2025-01-20 01:12:21 +09:00
gstcudaconvertscale.c cudaconverter: Add support for configuration update 2025-01-20 01:12:21 +09:00
gstcudaconvertscale.h cudaconvert, cudascale: Port to GstCudaBaseCovert baseclass 2022-11-15 16:25:44 +00:00
gstcudaformat.h cuda: Add support for VUYA format 2024-04-02 13:07:29 +00:00
gstcudainterop_d3d12.cpp d3d12: Additional fixes for MinGW build 2024-10-24 06:54:30 +09:00
gstcudainterop_d3d12.h nvcodec: Add support CUDA to D3D12 memory copy 2024-10-02 02:02:08 +09:00
gstcudaipc.cpp cudaipc: Add support for custom meta forwarding 2024-01-30 14:30:41 +00:00
gstcudaipc.h cudaipc: Add support for custom meta forwarding 2024-01-30 14:30:41 +00:00
gstcudaipcclient.cpp nvcodec: Update plugin cache 2024-02-07 22:06:39 +00:00
gstcudaipcclient.h cudaipc: Add support for custom meta forwarding 2024-01-30 14:30:41 +00:00
gstcudaipcclient_unix.cpp cudaipc: Add support for custom meta forwarding 2024-01-30 14:30:41 +00:00
gstcudaipcclient_unix.h nvcodec: Add support for CUDA IPC 2023-08-14 13:41:01 +00:00
gstcudaipcclient_win32.cpp cudaipc: Add support for custom meta forwarding 2024-01-30 14:30:41 +00:00
gstcudaipcclient_win32.h nvcodec: Add support for CUDA IPC 2023-08-14 13:41:01 +00:00
gstcudaipcserver.cpp nvcodec: fix invalidated std::set::iterator usage 2025-02-13 15:18:10 +00:00
gstcudaipcserver.h cudaipc: Add support for custom meta forwarding 2024-01-30 14:30:41 +00:00
gstcudaipcserver_unix.cpp cudaipcsink: Fix deadlock on stop 2023-12-06 16:09:27 +00:00
gstcudaipcserver_unix.h nvcodec: Add support for CUDA IPC 2023-08-14 13:41:01 +00:00
gstcudaipcserver_win32.cpp cudaipcsink: Fix deadlock on stop 2023-12-06 16:09:27 +00:00
gstcudaipcserver_win32.h nvcodec: Add support for CUDA IPC 2023-08-14 13:41:01 +00:00
gstcudaipcsink.cpp cudaipc: Use empty string for address property docs 2025-01-20 19:31:36 +00:00
gstcudaipcsink.h nvcodec: Add support for CUDA IPC 2023-08-14 13:41:01 +00:00
gstcudaipcsrc.cpp cudaipc: Use empty string for address property docs 2025-01-20 19:31:36 +00:00
gstcudaipcsrc.h nvcodec: Add support for CUDA IPC 2023-08-14 13:41:01 +00:00
gstcudamemorycopy.c common: Use more efficient versions of GstCapsFeatures API where possible 2024-09-26 19:26:18 +03:00
gstcudamemorycopy.h nvcodec: Refactor cudaupload/download and add support for GL memory 2022-03-06 15:39:04 +00:00
gstcuvidloader.c nvdecoder: Add support for reconfiguration 2023-02-16 17:49:54 +00:00
gstcuvidloader.h nvdecoder: Add support for reconfiguration 2023-02-16 17:49:54 +00:00
gstnvav1dec.cpp nvcodec: Specify documentation caps 2025-01-20 19:31:36 +00:00
gstnvav1dec.h nvdecoder: Add support for D3D11 output 2023-09-29 12:36:01 +00:00
gstnvav1encoder.cpp docs: Update nvcodec plugin docs 2025-01-20 19:31:36 +00:00
gstnvav1encoder.h nvcodec: Add AV1 encoder 2024-05-15 14:35:52 +00:00
gstnvcodecutils.cpp nvencoder: Add support for d3d12 memory 2024-09-14 15:33:44 +00:00
gstnvcodecutils.h nvencoder: Add support for d3d12 memory 2024-09-14 15:33:44 +00:00
gstnvdec.c common: Use more efficient versions of GstCapsFeatures API where possible 2024-09-26 19:26:18 +03:00
gstnvdec.h cuda: Rename macro HAVE_NVCODEC_GST_GL -> HAVE_CUDA_GST_GL 2023-02-20 01:49:31 +09:00
gstnvdecobject.cpp nvdecoder: Add support for HEVC GBR output 2023-09-23 13:12:56 +00:00
gstnvdecobject.h nvdecoder: Copy output frame if needed 2023-09-17 00:15:47 +09:00
gstnvdecoder.cpp nvcodec: Specify documentation caps 2025-01-20 19:31:36 +00:00
gstnvdecoder.h nvdecoder: Add support for D3D12 output 2024-10-02 02:02:08 +09:00
gstnvenc.c nvcodec: Remove old nvenc implementation 2024-05-15 14:35:52 +00:00
gstnvenc.h nvcodec: Remove old nvenc implementation 2024-05-15 14:35:52 +00:00
gstnvencobject.cpp nvcodec: fix invalidated std::set::iterator usage 2025-02-13 15:18:10 +00:00
gstnvencobject.h nvcodec: Add AV1 encoder 2024-05-15 14:35:52 +00:00
gstnvencoder.cpp nvcodec: Add support CUDA to D3D12 memory copy 2024-10-02 02:02:08 +09:00
gstnvencoder.h nvencoder: Add support for d3d12 memory 2024-09-14 15:33:44 +00:00
gstnvh264dec.cpp nvcodec: Specify documentation caps 2025-01-20 19:31:36 +00:00
gstnvh264dec.h nvdecoder: Add support for D3D11 output 2023-09-29 12:36:01 +00:00
gstnvh264encoder.cpp docs: Update nvcodec plugin docs 2025-01-20 19:31:36 +00:00
gstnvh264encoder.h cuda, nvcodec: Make GstD3D11 dependency mandatory 2023-02-16 17:49:54 +00:00
gstnvh265dec.cpp nvcodec: Specify documentation caps 2025-01-20 19:31:36 +00:00
gstnvh265dec.h nvdecoder: Add support for D3D11 output 2023-09-29 12:36:01 +00:00
gstnvh265encoder.cpp docs: Update nvcodec plugin docs 2025-01-20 19:31:36 +00:00
gstnvh265encoder.h cuda, nvcodec: Make GstD3D11 dependency mandatory 2023-02-16 17:49:54 +00:00
gstnvjpegenc.cpp nvcodec: Update plugin cache 2024-02-07 22:06:39 +00:00
gstnvjpegenc.h nvcodec: Add JPEG encoder 2024-01-31 12:51:28 +00:00
gstnvvp8dec.cpp nvcodec: Specify documentation caps 2025-01-20 19:31:36 +00:00
gstnvvp8dec.h nvdecoder: Add support for D3D11 output 2023-09-29 12:36:01 +00:00
gstnvvp9dec.cpp nvcodec: Specify documentation caps 2025-01-20 19:31:36 +00:00
gstnvvp9dec.h nvdecoder: Add support for D3D11 output 2023-09-29 12:36:01 +00:00
meson.build meson: Check d3d12video header for MinGW build 2025-02-03 21:24:47 +00:00
nvcuvid.h nvcodec: Update SDK header to 12.0.16 2024-05-15 14:35:52 +00:00
nvEncodeAPI.h nvcodec: Update SDK header to 12.0.16 2024-05-15 14:35:52 +00:00
plugin.c nvcodec: Add cudacompositor element 2025-01-20 01:12:21 +09:00