core: fix audio-only + framestep weird behavior

Trying to do a framestep while playing an audio-only file would play
the file until the end, then start the next file in paused state. Make
framestep state enter pause again immediately if there is no video.
Also reset framestep state when switching files.
This commit is contained in:
Uoti Urpala 2010-12-20 19:38:54 +02:00
parent 0afb326035
commit 798a308d97
1 changed files with 5 additions and 0 deletions

View File

@ -3091,6 +3091,10 @@ static void run_playloop(struct MPContext *mpctx)
if (!mpctx->sh_video) {
mpctx->restart_playback = false;
if (mpctx->step_frames) {
mpctx->step_frames = 0;
pause_player(mpctx);
}
// handle audio-only case:
double a_pos = 0;
// sh_audio can be NULL due to video stream switching
@ -4533,6 +4537,7 @@ if(play_n_frames==0){
mpctx->video_pts = 0;
mpctx->hrseek_active = false;
mpctx->hrseek_framedrop = false;
mpctx->step_frames = 0;
mpctx->total_avsync_change = 0;
mpctx->last_chapter_seek = -1;