summaryrefslogtreecommitdiffstats
path: root/player/sub.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/sub.c')
-rw-r--r--player/sub.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/player/sub.c b/player/sub.c
index 65b8ecc78f..0656dd5b56 100644
--- a/player/sub.c
+++ b/player/sub.c
@@ -70,6 +70,8 @@ void uninit_sub(struct MPContext *mpctx, struct track *track)
sub_select(track->d_sub, false);
int order = get_order(mpctx, track);
osd_set_sub(mpctx->osd, order, NULL);
+ sub_destroy(track->d_sub);
+ track->d_sub = NULL;
}
}
@@ -182,7 +184,9 @@ void reinit_sub(struct MPContext *mpctx, struct track *track)
if (!track || !track->stream || track->stream->type != STREAM_SUB)
return;
- if (!track->d_sub && !init_subdec(mpctx, track)) {
+ assert(!track->d_sub);
+
+ if (!init_subdec(mpctx, track)) {
error_on_track(mpctx, track);
return;
}