1
mirror of https://github.com/mpv-player/mpv synced 2024-10-22 08:51:57 +02:00

mplayer: make terminal status playback time consistent with OSD

Always use the same function as the OSD does (get_current_time()). This
loses the logic to display "???" if the time is unknown, as
get_current_time() returns 0 in this case. (The function has far too
many uses to change that now, and it seems to happen rarely in
practice.)
This commit is contained in:
wm4 2012-10-21 00:22:04 +02:00
parent dfcfe05885
commit 32053a0e10

View File

@ -1107,19 +1107,11 @@ static void print_status(struct MPContext *mpctx, double a_pos, bool at_frame)
saddf(line, width, ":");
// Playback position
double cur = MP_NOPTS_VALUE;
if (mpctx->sh_audio && a_pos != MP_NOPTS_VALUE) {
cur = a_pos;
} else if (mpctx->sh_video && mpctx->video_pts != MP_NOPTS_VALUE) {
cur = mpctx->video_pts;
}
if (cur != MP_NOPTS_VALUE) {
saddf(line, width, " %.1f ", cur);
saddf(line, width, "(");
sadd_hhmmssff(line, width, cur, mpctx->opts.osd_fractions);
saddf(line, width, ")");
} else
saddf(line, width, " ???");
double cur = get_current_time(mpctx);
saddf(line, width, " %.1f ", cur);
saddf(line, width, "(");
sadd_hhmmssff(line, width, cur, mpctx->opts.osd_fractions);
saddf(line, width, ")");
double len = get_time_length(mpctx);
if (len >= 0) {
@ -2874,7 +2866,9 @@ double get_current_time(struct MPContext *mpctx)
double apts = playing_audio_pts(mpctx);
if (apts != MP_NOPTS_VALUE)
return apts;
return mpctx->last_seek_pts;
if (mpctx->last_seek_pts != MP_NOPTS_VALUE)
return mpctx->last_seek_pts;
return 0;
}
int get_percent_pos(struct MPContext *mpctx)