protonscr

windows.media.playback.mediaplayer: EXCEPTION_ACCESS_VIOLATION in get_SystemMediaTransportControls() crashes app on unpackaged MediaPlayer.SystemMediaTransportControls access

protonclosed
ValveSoftware/Proton#9990 · opened 2026-07-19 by Tseshongfeeshur · updated 2026-07-19 · 1 comments · github
TTseshongfeeshur 2026-07-19 github

Compatibility Report

  • Name of the game with compatibility issues: Salt Player for Windows
  • Steam AppID of the game: 3009140

System Information

  • GPU: AMD RX 9070 XT
  • Video driver version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.1.5-arch1.1
  • Kernel version: 7.1.3-zen2-2-zen
  • Link to full system information report as Gist: https://gist.github.com/Tseshongfeeshur/02f5accb7c176ee3ea6e995528b44fff
  • Proton version: Proton Experimental (1783957914, experimental-11.0-20260713); also reproduced on latest GE-Proton

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

On launch (or shortly after starting playback), the game shows a native
MessageBox with the text "This application requires a package identity."
Closing the dialog immediately terminates the process.

Proton debug log shows the app activates Windows.Media.Playback.MediaPlayer
via RoGetActivationFactory, which succeeds, but the subsequent
QueryInterface call for get_SystemMediaTransportControls() fails with
E_NOINTERFACE and is immediately followed by a genuine
EXCEPTION_ACCESS_VIOLATION (code=c0000005) inside
windows.media.playback.mediaplayer.dll:

fixme:mediaplayer:media_player_QueryInterface {ee0660da-031b-4feb-bd9b-92e0a0a8d299} not implemented, returning E_NOINTERFACE.
trace:seh:dispatch_exception code=c0000005 (EXCEPTION_ACCESS_VIOLATION) flags=0 addr=00006FFFFB16306D

The application uses the recommended unpackaged-desktop-app path
(MediaPlayer.SystemMediaTransportControls property, not
SystemMediaTransportControls.GetForCurrentView()), which per Microsoft
documentation does not require MSIX package identity, so this appears to be a
Wine implementation gap rather than a genuine Windows restriction being
correctly replicated. A Wine merge request implementing
IMediaPlayer2::get_SystemMediaTransportControls()
(https://gitlab.winehq.org/wine/wine/-/merge_requests/8951) suggests this
method was previously unimplemented / only partially implemented, matching
the observed "activation succeeds, QueryInterface crashes" behavior.

Reproduced identically on both Proton Experimental (20260713) (LOG) and the latest
GE-Proton, with the same crash address and same DLLs involved
(windows.media.playback.mediaplayer.dll, windows.media.mediacontrol.dll).

Manually replacing these two builtin DLLs with the versions from a native Arch Linux Wine install
(which does not exhibit this crash when running the exe outside Steam) did
not resolve the issue, suggesting either an ABI mismatch was silently masking
the swap, or the crash originates from a related code path not covered by
just these two files.

Reproduction

  1. Launch Salt Player for Windows (AppID 3009140) via Steam with Proton
    Experimental or GE-Proton.
  2. The "This application requires a package identity." MessageBox appears.
  3. Closing the dialog terminates the process.
Kkisak-valve maintainer 2026-07-19 github

Hello @Tseshongfeeshur, we're using one issue report per unofficially supported game title, so I've gone ahead and transferred this issue report to https://github.com/ValveSoftware/Proton/issues/9021#issuecomment-5016228860.

Proton versions

Upstream links

DLLs