diff options
Diffstat (limited to 'filters')
-rw-r--r-- | filters/f_decoder_wrapper.c | 24 | ||||
-rw-r--r-- | filters/f_decoder_wrapper.h | 4 | ||||
-rw-r--r-- | filters/user_filters.c | 2 |
3 files changed, 7 insertions, 23 deletions
diff --git a/filters/f_decoder_wrapper.c b/filters/f_decoder_wrapper.c index ba867621c5..7abe95116d 100644 --- a/filters/f_decoder_wrapper.c +++ b/filters/f_decoder_wrapper.c @@ -224,7 +224,6 @@ struct priv { // --- Protected by cache_lock. char *cur_hwdec; - char *decoder_desc; bool try_spdif; bool attached_picture; bool pts_reset; @@ -397,9 +396,6 @@ static bool reinit_decoder(struct priv *p) reset_decoder(p); p->has_broken_packet_pts = -10; // needs 10 packets to reach decision - talloc_free(p->decoder_desc); - p->decoder_desc = NULL; - const struct mp_decoder_fns *driver = NULL; struct mp_decoder_list *list = NULL; char *user_list = NULL; @@ -451,11 +447,12 @@ static bool reinit_decoder(struct priv *p) p->decoder = driver->create(p->decf, p->codec, sel->decoder); if (p->decoder) { - mp_mutex_lock(&p->cache_lock); - const char *d = sel->desc && sel->desc[0] ? sel->desc : sel->decoder; - p->decoder_desc = talloc_strdup(p, d); - MP_VERBOSE(p, "Selected codec: %s\n", p->decoder_desc); - mp_mutex_unlock(&p->cache_lock); + p->codec->decoder = talloc_strdup(p, sel->decoder); + p->codec->decoder_desc = talloc_strdup(p, sel->desc && sel->desc[0] ? sel->desc : NULL); + MP_VERBOSE(p, "Selected decoder: %s", sel->decoder); + if (p->codec->decoder_desc) + MP_VERBOSE(p, " - %s", p->codec->decoder_desc); + MP_VERBOSE(p, "\n"); break; } @@ -482,15 +479,6 @@ bool mp_decoder_wrapper_reinit(struct mp_decoder_wrapper *d) return res; } -void mp_decoder_wrapper_get_desc(struct mp_decoder_wrapper *d, - char *buf, size_t buf_size) -{ - struct priv *p = d->f->priv; - mp_mutex_lock(&p->cache_lock); - snprintf(buf, buf_size, "%s", p->decoder_desc ? p->decoder_desc : ""); - mp_mutex_unlock(&p->cache_lock); -} - void mp_decoder_wrapper_set_frame_drops(struct mp_decoder_wrapper *d, int num) { struct priv *p = d->f->priv; diff --git a/filters/f_decoder_wrapper.h b/filters/f_decoder_wrapper.h index 9f1a8b5863..a352dc0c4d 100644 --- a/filters/f_decoder_wrapper.h +++ b/filters/f_decoder_wrapper.h @@ -43,10 +43,6 @@ struct mp_decoder_wrapper { struct mp_decoder_wrapper *mp_decoder_wrapper_create(struct mp_filter *parent, struct sh_stream *src); -// For informational purposes. -void mp_decoder_wrapper_get_desc(struct mp_decoder_wrapper *d, - char *buf, size_t buf_size); - // Legacy decoder framedrop control. void mp_decoder_wrapper_set_frame_drops(struct mp_decoder_wrapper *d, int num); int mp_decoder_wrapper_get_frames_dropped(struct mp_decoder_wrapper *d); diff --git a/filters/user_filters.c b/filters/user_filters.c index b5f29adf18..3767297865 100644 --- a/filters/user_filters.c +++ b/filters/user_filters.c @@ -94,7 +94,7 @@ const struct mp_user_filter_entry *vf_list[] = { #if HAVE_D3D_HWACCEL &vf_d3d11vpp, #endif -#if HAVE_GL && HAVE_EGL +#if (HAVE_GL && HAVE_EGL) || HAVE_VULKAN &vf_gpu, #endif }; |