summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authornanahi <130121847+na-na-hi@users.noreply.github.com>2024-04-16 02:30:14 -0400
committerDudemanguy <random342@airmail.cc>2024-04-16 22:19:55 +0000
commit32817198bbe45da0b2d4b4012fa2e69ff22e464e (patch)
treea6971920484fbe4abbade701ca7a2da33288a3bb /player
parentd23f641bb3b02ab226ed7228ea6b8d1a0cda2785 (diff)
downloadmpv-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.c3
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;