History

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.

nanahi committed 2 years ago

Commit 32817191 parent d23f6411 file · +2 −1Browse files

Unified · Split

player/misc.c+2−1
@@ -252,7 +252,8 @@ void error_on_track(struct MPContext *mpctx, struct track *track) · 251 unmodified lines
252252 if (track->type == STREAM_VIDEO)
253253 MP_INFO(mpctx, "Video: no video\n");
254254 if (mpctx->opts->stop_playback_on_init_failure ||
255− !(mpctx->vo_chain || mpctx->ao_chain))
255+ (!mpctx->current_track[0][STREAM_AUDIO] &&
256+ !mpctx->current_track[0][STREAM_VIDEO]))
256257 {
257258 if (!mpctx->stop_play)
258259 mpctx->stop_play = PT_ERROR;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t