mirror of
https://github.com/mpv-player/mpv
synced 2025-03-21 10:51:51 +00:00
Disable audio when initializing the filter chain fails (can happen e.g. when the hwmpa
decoder is used but the hardware does not support hardware MPEG audio). Otherwise this will lead to a crash later on when the decode code tries to access the audio filter chain. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29836 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
c6b1e6880b
commit
fefbdf991b
15
mplayer.c
15
mplayer.c
@ -1642,10 +1642,7 @@ if(mpctx->sh_audio){
|
||||
ao_data.format,0))){
|
||||
// FAILED:
|
||||
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CannotInitAO);
|
||||
uninit_player(INITIALIZED_ACODEC); // close codec
|
||||
mpctx->sh_audio=mpctx->d_audio->sh=NULL; // -> nosound
|
||||
mpctx->d_audio->id = -2;
|
||||
return;
|
||||
goto init_error;
|
||||
} else {
|
||||
// SUCCESS:
|
||||
initialized_flags|=INITIALIZED_AO;
|
||||
@ -1663,15 +1660,19 @@ if(mpctx->sh_audio){
|
||||
current_module="af_init";
|
||||
if(!build_afilter_chain(mpctx->sh_audio, &ao_data)) {
|
||||
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_NoMatchingFilter);
|
||||
// mp_msg(MSGT_CPLAYER,MSGL_ERR,"Couldn't find matching filter / ao format! -> NOSOUND\n");
|
||||
// uninit_player(INITIALIZED_ACODEC|INITIALIZED_AO); // close codec & ao
|
||||
// sh_audio=mpctx->d_audio->sh=NULL; // -> nosound
|
||||
goto init_error;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
mpctx->mixer.audio_out = mpctx->audio_out;
|
||||
mpctx->mixer.volstep = volstep;
|
||||
}
|
||||
return;
|
||||
|
||||
init_error:
|
||||
uninit_player(INITIALIZED_ACODEC|INITIALIZED_AO); // close codec and possibly AO
|
||||
mpctx->sh_audio=mpctx->d_audio->sh=NULL; // -> nosound
|
||||
mpctx->d_audio->id = -2;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user