mirror of
https://github.com/Tony0410/News-reader-pro.git
synced 2026-05-24 21:31:44 +08:00
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:
24
services/objectUrlManager.ts
Normal file
24
services/objectUrlManager.ts
Normal 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();
|
||||
};
|
||||
Reference in New Issue
Block a user