diff options
Diffstat (limited to 'player/core.h')
-rw-r--r-- | player/core.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/player/core.h b/player/core.h index 8f90a1903f..25eb8b71a8 100644 --- a/player/core.h +++ b/player/core.h @@ -80,6 +80,11 @@ enum seek_precision { MPSEEK_VERY_EXACT, }; +enum seek_flags { + MPSEEK_FLAG_DELAY = 1 << 0, // give player chance to coalesce multiple seeks + MPSEEK_FLAG_NOFLUSH = 1 << 1, // keeping remaining data for seamless loops +}; + enum video_sync { VS_DEFAULT = 0, VS_DISP_RESAMPLE, @@ -322,6 +327,7 @@ typedef struct MPContext { bool hrseek_lastframe; // drop everything until last frame reached bool hrseek_backstep; // go to frame before seek target double hrseek_pts; + bool ab_loop_clip; // clip to the "b" part of an A-B loop if available // AV sync: the next frame should be shown when the audio out has this // much (in seconds) buffered data left. Increased when more data is // written to the ao, decreased when moving to the next video frame. @@ -380,7 +386,7 @@ typedef struct MPContext { enum seek_type type; enum seek_precision exact; double amount; - bool immediate; // disable seek delay logic + unsigned flags; // MPSEEK_FLAG_* } seek; // Allow audio to issue a second seek if audio is too far ahead (for non-hr @@ -512,7 +518,7 @@ void pause_player(struct MPContext *mpctx); void unpause_player(struct MPContext *mpctx); void add_step_frame(struct MPContext *mpctx, int dir); void queue_seek(struct MPContext *mpctx, enum seek_type type, double amount, - enum seek_precision exact, bool immediate); + enum seek_precision exact, int flags); double get_time_length(struct MPContext *mpctx); double get_current_time(struct MPContext *mpctx); double get_playback_time(struct MPContext *mpctx); |