From e25919e0f9a27dd0f7546c342e732881cdbf2c1f Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 30 Jul 2024 22:58:59 -0500 Subject: [PATCH] Use for each loop to destroy objects in arrays Also fixes incorrect release of m_VideoPixelShaders objects --- .../video/ffmpeg-renderers/d3d11va.cpp | 20 +++++++++---------- .../video/ffmpeg-renderers/dxva2.cpp | 12 +++++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp index 6212df36..3d1e9ec1 100644 --- a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp +++ b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp @@ -109,28 +109,28 @@ D3D11VARenderer::~D3D11VARenderer() SDL_DestroyMutex(m_ContextLock); m_VideoVertexBuffer.Reset(); - for (auto shader : m_VideoPixelShaders) { + for (auto& shader : m_VideoPixelShaders) { shader.Reset(); } - for (int i = 0; i < m_VideoTextureResourceViews.size(); i++) { - for (int j = 0; j < m_VideoTextureResourceViews[i].size(); j++) { - m_VideoTextureResourceViews[i][j].Reset(); + for (auto& textureSrvs : m_VideoTextureResourceViews) { + for (auto& srv : textureSrvs) { + srv.Reset(); } } m_VideoTexture.Reset(); - for (int i = 0; i < m_OverlayVertexBuffers.size(); i++) { - m_OverlayVertexBuffers[i].Reset(); + for (auto& buffer : m_OverlayVertexBuffers) { + buffer.Reset(); } - for (int i = 0; i < m_OverlayTextureResourceViews.size(); i++) { - m_OverlayTextureResourceViews[i].Reset(); + for (auto& srv : m_OverlayTextureResourceViews) { + srv.Reset(); } - for (int i = 0; i < m_OverlayTextures.size(); i++) { - m_OverlayTextures[i].Reset(); + for (auto& texture : m_OverlayTextures) { + texture.Reset(); } m_OverlayPixelShader.Reset(); diff --git a/app/streaming/video/ffmpeg-renderers/dxva2.cpp b/app/streaming/video/ffmpeg-renderers/dxva2.cpp index d913e459..27a5200e 100644 --- a/app/streaming/video/ffmpeg-renderers/dxva2.cpp +++ b/app/streaming/video/ffmpeg-renderers/dxva2.cpp @@ -60,16 +60,16 @@ DXVA2Renderer::~DXVA2Renderer() m_ProcService.Reset(); m_Processor.Reset(); - for (int i = 0; i < m_OverlayVertexBuffers.size(); i++) { - m_OverlayVertexBuffers[i].Reset(); + for (auto& buffer : m_OverlayVertexBuffers) { + buffer.Reset(); } - for (int i = 0; i < m_OverlayTextures.size(); i++) { - m_OverlayTextures[i].Reset(); + for (auto& texture : m_OverlayTextures) { + texture.Reset(); } - for (int i = 0; i < m_DecSurfaces.size(); i++) { - m_DecSurfaces[i].Reset(); + for (auto& surface : m_DecSurfaces) { + surface.Reset(); } if (m_Pool != nullptr) {