Merge pull request #1 from Tony0410/codex/track-and-clean-up-audio-urls

Add cleanup for audio segment object URLs
This commit is contained in:
Anthony
2025-11-27 21:19:29 +08:00
committed by GitHub
2 changed files with 65 additions and 13 deletions

View File

@@ -0,0 +1,24 @@
const trackedUrls = new Set<string>();
export const createTrackedObjectUrl = (blob: Blob): string => {
const url = URL.createObjectURL(blob);
trackedUrls.add(url);
return url;
};
export const revokeTrackedObjectUrl = (url?: string) => {
if (!url) return;
if (trackedUrls.has(url)) {
trackedUrls.delete(url);
}
URL.revokeObjectURL(url);
};
export const revokeMultipleObjectUrls = (urls: (string | undefined)[]) => {
urls.forEach(revokeTrackedObjectUrl);
};
export const revokeAllTrackedObjectUrls = () => {
trackedUrls.forEach(url => URL.revokeObjectURL(url));
trackedUrls.clear();
};