java-topology/defects/pcsx2-0002/patch/pcsx2-0002-gscapture-codec-dedup-set.patch

21 lines
687 B
Diff

# UNDF: UNDF-2026-000000885
--- a/pcsx2/GS/GSCapture.cpp
+++ b/pcsx2/GS/GSCapture.cpp
@@ -1488,6 +1488,7 @@
}
void* iter = nullptr;
const AVCodec* codec;
+ std::unordered_set<std::string> seen_codecs;
while ((codec = wrap_av_codec_iterate(&iter)) != nullptr)
{
// only get audio codecs
@@ -1498,7 +1499,7 @@
if (!wrap_avformat_query_codec(output_format, codec->id, FF_COMPLIANCE_NORMAL))
continue;
- if (std::find_if(ret.begin(), ret.end(), [codec](const auto& it) { return it.first == codec->name; }) != ret.end())
+ if (!seen_codecs.insert(codec->name).second)
continue;
ret.emplace_back(codec->name, codec->long_name ? codec->long_name : codec->name);