DOCS/tech-overview.txt: some updates
player: remove unneeded call

print_status() is called at a later point anyway (and before sleeping),
so this code has little effect. This code was added in commit a4f7a3df5,
and I can't observe any problems with idle mode anymore.

Now print_status() is called from a single place only, within osd.c.
player: never print status messages before playback begins

After a new file is loaded, playback never starts instantly. Rather, it
takes some playloop iterations until initial audio and video have been
decoded, and the outputs have been (lazily) initialized. This means you
will get status line updates between the messages that inform of the
initialized outputs. This is a bit annoying and clutters the terminal
output needlessly.

Fix this by never printing the status line before playback isn't fully
initialized. Do this by reusing the --term-playing-msg code (which
prints a message once playback is initialized). This also makes sure the
status line _is_ shown during playback restart when doing seeks.

It's possible that the change will make the output more confusing if for
some reason is stuck forever initializing playback, but that seems like
an obscure corner case that never happens, so forget about it.
command: drop " %" from "cache" property OSD-formatting
manpage: fix opengl-hq defaults

The FBO format was changed some time ago.

CC: @mpv-player/stable
wayland: dynamically report display fps

Only reports the most recently entered output if the window is displayed on
2 or more outputs. Should be changed to the lowest fps of all outputs the
window is visible. Until no one complains this will have to wait.

Look for the VO framedropping for more information on this topic.
vaapi: we need more surfaces

Playing with high framedrop could make it run out of surfaces. In
theory, we wouldn't need an additional surface, if we could just clear
the vo_vaapi internal surface - but doing so would probably be a pain,
so I don't care.
video: dump vsync phase into stats file

For debugging (drawing fun plots with TOOLS/stats-conv.py).

Also move last_flip under the correct comment: it's not protected by the
lock, and can be accessed by the VO thread only.
vo_opengl: add check-pattern suboption for testing

This uses glXGetVideoSyncSGI() to check how many vsyncs happened since
the last flip_page() call. It allows checking a pattern of vsync
increments of at most 2 elements. For example, to check ~24 fps playback
on a ~60 Hz monitor, this can be used:

--vo=opengl:check-pattern=[3-2]:waitvsync

Whether the reported results are accurate or just plain wrong may depend
on the driver and if the waitvsync sub-option is used. There are no
guarantees.

This option is undocumented, and may be removed again in the near or
distant future.
video: add VOCTRL_GET_RECENT_FLIP_TIME

This could be used by VO implementations to report a recent vsync time
to the generic VO code, which in turn will use it and the display FPS
to estimate at which point in time the next vsync will happen.
TOOLS/stats-conv.py: improvements

This is still pretty useful for debugging timing-dependent things.
example.conf: demuxer-thread is now enabled by default

Provide a more useful example instead.
command: add estimated-frame-count & estimated-frame-number properties

Signed-off-by: wm4 <wm4@nowhere>
vo_wayand: save the flip time in the frame handler

This value is more accurate than the default value.
vo_wayland: fix formatting inconsistencies
options.rst: fix warning
wayland: replace deprecated xkbcommon functions

Available and stable since forever (xkbcommon 0.2).
terminal-unix: eliminate unnecessary variable
video: don't assume query_format is thread-safe

Although it's probably safe for most VOs, there's no guarantee.
etc/mpv.desktop: add audio/flac mimetype

Fixes #1025.

CC: @mpv-player/stable