diff options
author | wm4 <wm4@nowhere> | 2020-02-15 02:19:20 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-02-15 02:19:20 +0100 |
commit | a9acfa82c35c4d5a98737d1cfda5d56e622f9674 (patch) | |
tree | 10cf2bb9c86fdd5c5c13a08a8c9f8a5cb3ced140 /filters/f_decoder_wrapper.c | |
parent | 641d102101087a3453398800febce2f65f104203 (diff) | |
download | mpv-a9acfa82c35c4d5a98737d1cfda5d56e622f9674.tar.bz2 mpv-a9acfa82c35c4d5a98737d1cfda5d56e622f9674.tar.xz |
some shitytdl_sub_delayload
Diffstat (limited to 'filters/f_decoder_wrapper.c')
-rw-r--r-- | filters/f_decoder_wrapper.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/filters/f_decoder_wrapper.c b/filters/f_decoder_wrapper.c index 7ce13606b6..6f90df04ad 100644 --- a/filters/f_decoder_wrapper.c +++ b/filters/f_decoder_wrapper.c @@ -199,13 +199,16 @@ bool mp_decoder_wrapper_reinit(struct mp_decoder_wrapper *d) const struct mp_decoder_fns *driver = NULL; struct mp_decoder_list *list = NULL; char *user_list = NULL; + char *fallback = NULL; if (p->codec->type == STREAM_VIDEO) { driver = &vd_lavc; user_list = opts->video_decoders; + fallback = "h264"; } else if (p->codec->type == STREAM_AUDIO) { driver = &ad_lavc; user_list = opts->audio_decoders; + fallback = "aac"; if (p->public.try_spdif && p->codec->codec) { struct mp_decoder_list *spdif = @@ -223,7 +226,10 @@ bool mp_decoder_wrapper_reinit(struct mp_decoder_wrapper *d) struct mp_decoder_list *full = talloc_zero(NULL, struct mp_decoder_list); if (driver) driver->add_decoders(full); - list = mp_select_decoders(p->log, full, p->codec->codec, user_list); + const char *codec = p->codec->codec; + if (codec && strcmp(codec, "null") == 0) + codec = fallback; + list = mp_select_decoders(p->log, full, codec, user_list); talloc_free(full); } |