vlc/vlc-3.0 | branch: master | Mikhail Gusarov <[email protected]> | Wed Sep 25 19:40:24 2019 +0000| [e3e32ab0119edfd762718ecd9a084aeaef873e2f] | committer: Felix Paul Kühne
macosx: widen stored playback position for longer videos Existing logic of storing playback position for macOS excludes positions within first/last 5%. This heuristic is fine for short videos, but for a longer one, say a 6-hour one, it means the position is not stored for the first/last 18 minutes, which is a nuisance. This change adds an upper limit for the size of excluded positions. Signed-off-by: Mikhail Gusarov <[email protected]> Signed-off-by: Felix Paul Kühne <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=e3e32ab0119edfd762718ecd9a084aeaef873e2f --- modules/gui/macosx/VLCInputManager.m | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/modules/gui/macosx/VLCInputManager.m b/modules/gui/macosx/VLCInputManager.m index c418510aea..f4ada0f9a3 100644 --- a/modules/gui/macosx/VLCInputManager.m +++ b/modules/gui/macosx/VLCInputManager.m @@ -621,11 +621,27 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, static const int64_t MinimumDuration = 3 * 60 * 1000; static const float MinimumStorePercent = 0.05; static const float MaximumStorePercent = 0.95; +static const int64_t MinimumStoreTime = 60 * 1000; +static const int64_t MinimumStoreRemainingTime = 60 * 1000; BOOL ShouldStorePlaybackPosition(float position, int64_t duration) { - return duration > MinimumDuration && - position > MinimumStorePercent && position < MaximumStorePercent; + int64_t positionTime = position * duration; + int64_t remainingTime = duration - positionTime; + + if (duration < MinimumDuration) { + return NO; + } + + if (position < MinimumStorePercent && positionTime < MinimumStoreTime) { + return NO; + } + + if (position > MaximumStorePercent && remainingTime < MinimumStoreRemainingTime) { + return NO; + } + + return YES; } - (void)storePlaybackPositionForItem:(input_thread_t *)p_input_thread _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
