mirror of
https://github.com/LizardByte/Sunshine.git
synced 2026-08-07 18:36:34 +00:00
fix(linux): avoid memory leak from unnecessary encoder re-probing (#5404)
This commit is contained in:
@@ -1247,7 +1247,15 @@ namespace platf {
|
||||
* @return Always `true` because Linux GPU changes are not tracked by this backend.
|
||||
*/
|
||||
bool needs_encoder_reenumeration() {
|
||||
// We don't track GPU state, so we will always reenumerate. Fortunately, it is fast on Linux.
|
||||
// Only re-probe if the GPU render device changed (hotplug, driver reload).
|
||||
// Full re-probing on every reconnect leaks ~20 MB due to FFmpeg CBS
|
||||
// allocations during HEVC/AV1 codec validation.
|
||||
static std::string last_render_device;
|
||||
auto current = platf::resolve_render_device();
|
||||
if (current == last_render_device) {
|
||||
return false;
|
||||
}
|
||||
last_render_device = current;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user