summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filters/f_decoder_wrapper.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/filters/f_decoder_wrapper.c b/filters/f_decoder_wrapper.c
index 9f35c5ec2d..d5ce6725d3 100644
--- a/filters/f_decoder_wrapper.c
+++ b/filters/f_decoder_wrapper.c
@@ -155,6 +155,7 @@ struct priv {
struct m_config_cache *opt_cache;
struct dec_wrapper_opts *opts;
struct dec_queue_opts *queue_opts;
+ struct mp_stream_info stream_info;
struct mp_codec_params *codec;
struct mp_decoder *decoder;
@@ -1185,6 +1186,15 @@ struct mp_decoder_wrapper *mp_decoder_wrapper_create(struct mp_filter *parent,
p->dec_root_filter = mp_filter_create_root(public_f->global);
mp_filter_root_set_wakeup_cb(p->dec_root_filter, wakeup_dec_thread, p);
+ struct mp_stream_info *sinfo = mp_filter_find_stream_info(parent);
+ if (sinfo) {
+ p->dec_root_filter->stream_info = &p->stream_info;
+ p->stream_info = (struct mp_stream_info){
+ .dr_vo = sinfo->dr_vo,
+ .hwdec_devs = sinfo->hwdec_devs,
+ };
+ }
+
update_queue_config(p);
}