-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
command: let frame-step go through multiple frames #10132
Conversation
544a2e7
to
7f6072c
Compare
I added an additional flag to the command that controls how mpv tries to skip frames. By default, it uses the As aside, this sort of solves #6104 since seeking won't play audio. The only thing is that frame skipping forwards exactly 1 with a seek isn't very accurate. You'll often end up going forward 2 frames in actuality. |
@Dudemanguy wow, you actually did it, thanks! 👏 |
Why it is not merged? |
Because it sucked. I'll revisit soon-ish. |
7f6072c
to
38b53eb
Compare
I fixed the problems I originally had with this way back when I originally wrote it. I think it works correctly now. |
40491bb
to
83d4137
Compare
83d4137
to
c40ae94
Compare
Previously, the default behavior of frame-step and frame-back-step is to play forward 1 frame or seek back 1 frame. We keep this behavior but introduce additional flags to control the exact behavior of the frame stepping. The first argument simply specifies how many frames to go through. The second argument specifies whether to play video to step through frames or to seek to step through frames. Playing through the video to step through frames only works going forwards (otherwise it will always seek). In theory we could use backwards playback for this, but that can be decided later. As a minor note, MPSEEK_BACKSTEP is renamed to MPSEEK_FRAMESTEP since forward seeks can use this as well. Fixes mpv-player#10128.
c40ae94
to
9124255
Compare
It's probably possible to make seeking backwards work with the |
This commit gives the frame-step command the ability to accept an
additional argument specifying the amount of frames (forwards or
backwards) to step through. By default, it steps forward 1. The
frame-back-step command is reworked to simply be a call to frame-step
with a -1 value. In the case where the value is exactly 1, mpv will play
exactly 1 frame and stop like before. However if a backwards step is
requested or multiple frames forward, then mpv will perform a very exact
seek. This working well, of course, depends on the pts values in the
stream being reliable which may not be the case. As a minor note,
MPSEEK_BACKSTEP is renamed to MPSEEK_FRAMESTEP since forward seeks use
this as well. Fixes #10128.