summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-04-17 01:26:13 +0200
committerKacper Michajłow <kasper93@gmail.com>2024-04-18 02:25:12 +0200
commit2f8038c59885d5db875097566e9d8e033f108e0a (patch)
treeb6a07fb1ba25c3ae819e5ea7a38540917e4ae086 /video
parentdc632e16d2932d1df90a4ee42973da32ee3a40b9 (diff)
downloadmpv-2f8038c59885d5db875097566e9d8e033f108e0a.tar.bz2
mpv-2f8038c59885d5db875097566e9d8e033f108e0a.tar.xz
vo_gpu_next: invalidate cache object if requested by libplacebo
See: https://code.videolan.org/videolan/libplacebo/-/merge_requests/659
Diffstat (limited to 'video')
-rw-r--r--video/out/vo_gpu_next.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/video/out/vo_gpu_next.c b/video/out/vo_gpu_next.c
index 0a93f6329c..d68c836b52 100644
--- a/video/out/vo_gpu_next.c
+++ b/video/out/vo_gpu_next.c
@@ -1636,9 +1636,6 @@ done:
static void cache_save_obj(void *p, pl_cache_obj obj)
{
- if (!obj.data || !obj.size)
- return;
-
const struct cache *c = p;
void *ta_ctx = talloc_new(NULL);
@@ -1649,6 +1646,11 @@ static void cache_save_obj(void *p, pl_cache_obj obj)
if (!filepath)
goto done;
+ if (!obj.data || !obj.size) {
+ unlink(filepath);
+ goto done;
+ }
+
// Don't save if already exists
if (!stat(filepath, &(struct stat){0})) {
MP_DBG(c, "%s: key(%"PRIx64"), size(%zu)\n", __func__, obj.key, obj.size);