mpv/DOCS
wm4 a3ac2019ed demux: fix initial backward demuxing state in some cases
Just "mpv file.mkv --play-direction=backward" did not work, because
backward demuxing from the very end was not implemented. This is another
corner case, because the resume mechanism so far requires a packet
"position" (dts or pos) as reference. Now "EOF" is another possible
reference.

Also, the backstep mechanism could cause streams to find different
playback start positions, basically leading to random playback start
(instead of what you specified with --start). This happens only if
backstep seeks are involved (i.e. no cached data yet), but since this is
usually the case at playback start, it always happened. It was racy too,
because it depended on the order the decoders on other threads requested
new data. The comment below "resume_earlier" has some more blabla.

Some other details are changed.

I'm giving up on the "from_cache" parameter, and don't try to detect the
situation when the demuxer does not seek properly. Instead, always seek
back, hopefully some more.

Instead of trying to adjust the backstep seek target by a random value
of 1.0 seconds. Instead, always rely on the random value provided by the
user via --demuxer-backward-playback-step. If the demuxer should really
get "stuck" and somehow miss the seek target badly, or the user sets the
option value to 0, then the demuxer will not make any progress and just
eat CPU. (Although due to backward seek semantics used for backstep
seeks, even a very small seek step size will work. Just not 0.)

It seems this also fixes backstepping correctly when the initial seek
ended at the last keyframe range. (The explanation above was about the
case when it ends at EOF. These two cases are different. In the former,
you just need to step to the previous keyframe range, which was broken
because it didn't always react correctly to reaching EOF. In the latter,
you need to do a separate search for the last keyframe.)
2019-09-19 20:37:04 +02:00
..
man demux: fix initial backward demuxing state in some cases 2019-09-19 20:37:04 +02:00
client-api-changes.rst drm: fix libmpv ABI breakage introduced in 351c083487 2019-09-18 23:59:32 +03:00
compile-windows.md DOCS/compile-windows: remove angleproject-git from deps 2019-07-30 23:57:50 +01:00
contribute.md
edl-mpv.rst DOCS/edl-mpv.rst: make clear the DASH stuff is for internal use only 2019-09-19 20:37:04 +02:00
encoding.rst encode: remove old timestamp handling 2018-05-03 01:08:44 +03:00
interface-changes.rst vo_gpu: x11: remove special vdpau probing, use EGL by default 2019-09-15 20:00:52 +03:00
mplayer-changes.rst
release-policy.md
tech-overview.txt video: change some remaining vo_opengl mentions to vo_gpu 2018-01-20 14:43:49 -08:00
waf-buildsystem.rst