summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/decode/vd_lavc.c1
-rw-r--r--video/decode/vdpau.c6
2 files changed, 2 insertions, 5 deletions
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index cdd0dd8884..9ce657bb5c 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -456,6 +456,7 @@ static void uninit_avctx(struct dec_video *vd)
if (ctx->hwdec && ctx->hwdec->uninit)
ctx->hwdec->uninit(ctx);
+ ctx->hwdec = NULL;
av_freep(&ctx->avctx);
diff --git a/video/decode/vdpau.c b/video/decode/vdpau.c
index 9a3e7e27cf..f8375532fb 100644
--- a/video/decode/vdpau.c
+++ b/video/decode/vdpau.c
@@ -80,13 +80,9 @@ static int init(struct lavc_ctx *ctx)
ctx->hwdec_priv = p;
if (mp_vdpau_handle_preemption(p->mpvdp, &p->preemption_counter) < 1)
- goto error;
+ return -1;
return 0;
-
-error:
- uninit(ctx);
- return -1;
}
static int probe(struct vd_lavc_hwdec *hwdec, struct mp_hwdec_info *info,