summaryrefslogtreecommitdiffstats
path: root/sub/dec_sub.c
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-04-24 15:42:34 +0200
committerKacper Michajłow <kasper93@gmail.com>2024-04-24 15:52:17 +0200
commitafae94cfbd375f90859aa77077ecf150ae96ee81 (patch)
tree4716185555c65182640dbd75365faf76f50f3d01 /sub/dec_sub.c
parent426be8441a81bf1a5817838c449845dcf20fca5f (diff)
downloadmpv-afae94cfbd375f90859aa77077ecf150ae96ee81.tar.bz2
mpv-afae94cfbd375f90859aa77077ecf150ae96ee81.tar.xz
dec_sub: fix locking for sub_ass_get_extradata
Fixes: 715feea8d82a750c3d627ee10c4fd6c6fe1fbe86
Diffstat (limited to 'sub/dec_sub.c')
-rw-r--r--sub/dec_sub.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sub/dec_sub.c b/sub/dec_sub.c
index 1e316687d8..c03393a007 100644
--- a/sub/dec_sub.c
+++ b/sub/dec_sub.c
@@ -445,12 +445,14 @@ char *sub_get_text(struct dec_sub *sub, double pts, enum sd_text_type type)
char *sub_ass_get_extradata(struct dec_sub *sub)
{
+ char *data = NULL;
mp_mutex_lock(&sub->lock);
if (strcmp(sub->sd->codec->codec, "ass") != 0)
- return NULL;
+ goto done;
char *extradata = sub->sd->codec->extradata;
int extradata_size = sub->sd->codec->extradata_size;
- char *data = talloc_strndup(NULL, extradata, extradata_size);
+ data = talloc_strndup(NULL, extradata, extradata_size);
+done:
mp_mutex_unlock(&sub->lock);
return data;
}