diff options
author | nanahi <130121847+na-na-hi@users.noreply.github.com> | 2024-04-16 02:30:14 -0400 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2024-04-16 22:19:55 +0000 |
commit | 32817198bbe45da0b2d4b4012fa2e69ff22e464e (patch) | |
tree | a6971920484fbe4abbade701ca7a2da33288a3bb /player | |
parent | d23f641bb3b02ab226ed7228ea6b8d1a0cda2785 (diff) | |
download | mpv-32817198bbe45da0b2d4b4012fa2e69ff22e464e.tar.bz2 mpv-32817198bbe45da0b2d4b4012fa2e69ff22e464e.tar.xz |
player/misc: fix audio-only fallback when video init fails
--stop-playback-on-init-failure=no is documented to continue playback in
audio-only mode if video init fails. However, this does not function
properly after a0804329927904fdeb70d9712ff23baaab161bb4: because video
is initialized first, if video init fails, ao_chain is still null.
As a result, !(mpctx->vo_chain || mpctx->ao_chain) is true, a playback
error is raised, so the playback ends and audio does not play.
Fix this by reverting that change, so it checks the tracks instead.
Fixes: a0804329927904fdeb70d9712ff23baaab161bb4
Diffstat (limited to 'player')
-rw-r--r-- | player/misc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/player/misc.c b/player/misc.c index 693fa5a7e7..1b265e11fa 100644 --- a/player/misc.c +++ b/player/misc.c @@ -252,7 +252,8 @@ void error_on_track(struct MPContext *mpctx, struct track *track) if (track->type == STREAM_VIDEO) MP_INFO(mpctx, "Video: no video\n"); if (mpctx->opts->stop_playback_on_init_failure || - !(mpctx->vo_chain || mpctx->ao_chain)) + (!mpctx->current_track[0][STREAM_AUDIO] && + !mpctx->current_track[0][STREAM_VIDEO])) { if (!mpctx->stop_play) mpctx->stop_play = PT_ERROR; |