MPV

mpv:release/0.34

Last commit made on 2022-01-03
Get this branch:
git clone -b release/0.34 https://git.launchpad.net/mpv

Branch merges

Branch information

Name:
release/0.34
Repository:
lp:mpv

Recent commits

349e437... by Sfan5

Release 0.34.1

f47a055... by Dudemanguy <email address hidden>

wayland: avoid doing unneccesary window resizes

Commits 04018c306196888861775b248a8596ae494f122b
cd7a7a1de8d8bffa05170befef25b251711c994a introduced behavior that
updated window geometry during wayland events (specifically surface and
output). This is good but they also are too aggressive with
automatically resizing. For example, if a window is manually resized by
the user and then dragged to a different monitor with different geometry
than the initial monitor, mpv will automatically resize itself to the
window's resolution. The initial thought behind this logic was for
autofit to automatically readjust itself on a new monitor, but doing
that breaks other common use cases. An attempt could be made to
distinguish between autofit and a manual resize but that introduces a
lot of complexity for an edge case. It's better to simply not change the
window geometry here. Internal values are recalculated and scaled of
course, but wl->window_size and wl->geometry should not change.

80c03b4... by Sfan5

subprocess: unblock/reset signals before running child process

During execve() ignored and blocked signals carry over to the child
process, though apparently for SIGCHLD (which the bug report was about)
this is implementation-defined.
fixes #9613

e7fbc86... by Niklas Haas <email address hidden>

af_lavcac3enc: fix memory leak on no-op

Simply returning out of this function leaks avpkt, need to always "goto
done".

Rewrite the logic a bit to make it more clear what's going on (IMO).

Fixes #9593

85a4557... by Philip Langdale <email address hidden>

vo_gpu: opengl: try and create context at version 440 again

nvidia follow the OpenGL spec very strictly, with two particular
consequences:

* They will give you the exact context version that you ask for,
  rather than the highest possible version that meets your request.
* They will hide extensions that the specs say require a higher
  version than you request, even if it's technically possible to
  provide the extension at lower versions.

In our case, we really want a variety of extensions, particularly
compute shaders that are only available in 4.2 or higher. That means
that we must explicitly include a high enough version in our list of
versions to check for us to be able to get a 'good' enough context.

As for which version? We restore the 4.4 version that we had in the
old version selection logic. This is the highest version we ever asked
for, and we have separate logic that clamps the GLSL version to 4.4,
so anything newer wouldn't make a difference.

7c0a9b8... by Niklas Haas <email address hidden>

vo_gpu: opengl: fix wrong glMemoryBarrier

This call was completely wrong.

f2bc9e4... by Dudemanguy <email address hidden>

wayland: fix a potential segfault on surface enter

This possibility actually existed for years. The wayland protocol is
asynchronous and there's no restriction on when a compositor can send a
surface enter event. In mpv's case, the surface enter event is used to
set some vital things regarded geometry/scaling etc. However, this
implictly assumes that wl->current_output is actually initialized. The
vast majority of the time, vo_wayland_reconfig will happen first which
is where wl->current_output is, and should, be created. There's no
rule/law that the ordering of events will always occur in this order.
Plasma with certain auto-profile conditions can send the surface enter
event before mpv does its initial reconfig. That segfaults of course.
Just add a check to make sure we have wl->current_output here and return
if we don't. This assumes that the compositor will send us another
surface enterance event when mpv actually does the initial surface
commit and roundtrip request later. Wayland logs indicate this does
happen. Fixes #9492.

f8b85dd... by Aman Gupta

audio: stop corrupting audio on underreads

regression introduced in b74c09efbf7c6969fc053265f72cc0501b840ce1

Signed-off-by: Aman Karmani <email address hidden>

bde10d2... by Dudemanguy <email address hidden>

egl_helpers: remove EGL_OPENGL_ES3_BIT

d2e8bc449986e012f257249a996386bd323febd0 was the the commit that
originally introduced the usage of this bit. As the message states, the
purpose was to force creating GLES 3 contexts on drivers that do not
return a higher version context than what was requested. With the recent
opengl refactors, mpv's gl selection has already moved away from such
complicated queries. Perhaps when that commit was added things were
different, but nowadays it seems like Mesa simply returns the highest
driver version available that is compatibile with the request (i.e.
requesting GLES 2 returns a GLES 3 context on my machine). In that case,
let's just simply drop EGL_OPENGL_ES3_BIT altogether as it does break
GLES 2 only machines. Fixes #9431.

22c1468... by Jan Ekström

ao_oss: define PATH_DEV_MIXER as it is an internal define

This fixes a mismatch between configure working and build time
failing with Linux + OSSv4, enabling compilation on Debian based
Linux systems with the oss4-dev package.

Fixes #9378