mirror of https://github.com/mpv-player/mpv
osd: simplify AB-loop rendering on progress bar
This adds the stops using the same logic get_play_end_pts() and handle_loop_file(). It did that before, it just looks slightly different now. It also won't try to add MP_NOPTS_VALUE as stop value.
This commit is contained in:
parent
281e998290
commit
aebccb8801
19
player/osd.c
19
player/osd.c
|
@ -359,19 +359,20 @@ void set_osd_bar_chapters(struct MPContext *mpctx, int type)
|
|||
mpctx->osd_progbar.num_stops = 0;
|
||||
double len = get_time_length(mpctx);
|
||||
if (len > 0) {
|
||||
double ab_loop_start_time = get_ab_loop_start_time(mpctx);
|
||||
if (opts->ab_loop[0] != MP_NOPTS_VALUE ||
|
||||
(ab_loop_start_time != MP_NOPTS_VALUE &&
|
||||
opts->ab_loop[1] != MP_NOPTS_VALUE))
|
||||
opts->ab_loop[1] != MP_NOPTS_VALUE)
|
||||
{
|
||||
double ab_loop_start_time = get_ab_loop_start_time(mpctx);
|
||||
if (ab_loop_start_time == MP_NOPTS_VALUE)
|
||||
ab_loop_start_time = 0;
|
||||
MP_TARRAY_APPEND(mpctx, mpctx->osd_progbar.stops,
|
||||
mpctx->osd_progbar.num_stops, ab_loop_start_time / len);
|
||||
}
|
||||
if (opts->ab_loop[1] != MP_NOPTS_VALUE) {
|
||||
MP_TARRAY_APPEND(mpctx, mpctx->osd_progbar.stops,
|
||||
mpctx->osd_progbar.num_stops, opts->ab_loop[1] / len);
|
||||
}
|
||||
if (mpctx->osd_progbar.num_stops == 0) {
|
||||
if (opts->ab_loop[1] != MP_NOPTS_VALUE) {
|
||||
MP_TARRAY_APPEND(mpctx, mpctx->osd_progbar.stops,
|
||||
mpctx->osd_progbar.num_stops,
|
||||
opts->ab_loop[1] / len);
|
||||
}
|
||||
} else {
|
||||
int num = get_chapter_count(mpctx);
|
||||
for (int n = 0; n < num; n++) {
|
||||
double time = chapter_start_time(mpctx, n);
|
||||
|
|
Loading…
Reference in New Issue