mirror of
https://github.com/mpv-player/mpv
synced 2024-09-09 01:16:56 +02:00
Show total time when playing audio-only files
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16655 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
1537b7e64c
commit
abec4e3d3e
42
mplayer.c
42
mplayer.c
@ -845,6 +845,30 @@ static void saddf(char *buf, unsigned *pos, int len, const char *format, ...)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief append time in the hh:mm:ss.f format
|
||||
* \param buf buffer to print into
|
||||
* \param pos position of terminating 0 in buf
|
||||
* \param len maximum number of characters in buf, not including terminating 0
|
||||
* \param time time value to convert/append
|
||||
*/
|
||||
static void sadd_hhmmssf(char *buf, unsigned *pos, int len, float time) {
|
||||
long tenths = 10 * time;
|
||||
int f1 = tenths % 10;
|
||||
int ss = (tenths / 10) % 60;
|
||||
int mm = (tenths / 600) % 60;
|
||||
int hh = tenths / 36000;
|
||||
if (time <= 0) {
|
||||
saddf(buf, pos, len, "unknown");
|
||||
return;
|
||||
}
|
||||
if (hh > 0)
|
||||
saddf(buf, pos, len, "%2d:", hh);
|
||||
if (hh > 0 || mm > 0)
|
||||
saddf(buf, pos, len, "%02d:", mm);
|
||||
saddf(buf, pos, len, "%02d.%1d", ss, f1);
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief print the status line
|
||||
* \param a_pos audio position
|
||||
@ -872,20 +896,12 @@ static void print_status(float a_pos, float a_v, float corr)
|
||||
if (sh_audio) {
|
||||
saddf(line, &pos, width, "A:%6.1f ", a_pos);
|
||||
if (!sh_video) {
|
||||
// convert time to HH:MM:SS.F format
|
||||
long tenths = 10 * a_pos;
|
||||
int f1 = tenths % 10;
|
||||
int ss = (tenths / 10) % 60;
|
||||
int mm = (tenths / 600) % 60;
|
||||
int hh = (tenths / 36000) % 100;
|
||||
float len = demuxer_get_time_length(demuxer);
|
||||
saddf(line, &pos, width, "(");
|
||||
if (hh > 0)
|
||||
saddf(line, &pos, width, "%2d:", hh);
|
||||
if (hh > 0 || mm > 0)
|
||||
saddf(line, &pos, width, "%02d:", mm);
|
||||
saddf(line, &pos, width, "%02d.", ss);
|
||||
saddf(line, &pos, width, "%1d", f1);
|
||||
saddf(line, &pos, width, ") ");
|
||||
sadd_hhmmssf(line, &pos, width, a_pos);
|
||||
saddf(line, &pos, width, ") of %.1f (", len);
|
||||
sadd_hhmmssf(line, &pos, width, len);
|
||||
saddf(line, &pos, width, ")");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user