summaryrefslogtreecommitdiffstats
path: root/player/osd.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/osd.c')
-rw-r--r--player/osd.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/player/osd.c b/player/osd.c
index eccaf742e4..a7bf981695 100644
--- a/player/osd.c
+++ b/player/osd.c
@@ -147,6 +147,11 @@ static void add_term_osd_bar(struct MPContext *mpctx, char **line, int width)
saddf(line, "%.*s", BSTR_P(parts[4]));
}
+static bool is_busy(struct MPContext *mpctx)
+{
+ return !mpctx->restart_complete && mp_time_sec() - mpctx->start_timestamp > 0.3;
+}
+
static void print_status(struct MPContext *mpctx)
{
struct MPOpts *opts = mpctx->opts;
@@ -172,7 +177,7 @@ static void print_status(struct MPContext *mpctx)
char *line = NULL;
// Playback status
- if (!mpctx->restart_complete && mp_time_sec() - mpctx->start_timestamp > 0.3) {
+ if (is_busy(mpctx)) {
saddf(&line, "(...) ");
} else if (mpctx->paused_for_cache && !opts->pause) {
saddf(&line, "(Buffering) ");
@@ -368,7 +373,7 @@ void get_current_osd_sym(struct MPContext *mpctx, char *buf, size_t buf_size)
{
int sym = mpctx->osd_function;
if (!sym) {
- if (mpctx->paused_for_cache && !mpctx->opts->pause) {
+ if (is_busy(mpctx) || (mpctx->paused_for_cache && !mpctx->opts->pause)) {
sym = OSD_CLOCK;
} else if (mpctx->paused || mpctx->step_frames) {
sym = OSD_PAUSE;