Skip to content
Snippets Groups Projects

win32: Add SystemMediaTransportControls support

Open alvinhochun requested to merge alvinhochun/vlc:alvin/smtc into master

Implements #25258

This adds a module win_smtc which implements SystemMediaTransportControls integration for Windows, and a config option smtc to toggle this (enabled by default).

Implementation notes

This uses C++/WinRT to consume the WinRT APIs needed. As partial mingw-w64 support (recent GCC and Clang, requires C++20) has recently been added to upstream cppwinrt, it is now functional enough to handle the simple APIs of SystemMediaTransportControls. A copy of cppwinrt headers is downloaded in contrib.

Implemented functions

  • Play / pause / stop / prev / next buttons (tested on Windows 10 with native UI and ModernFlyouts)
  • Fast forward / rewind buttons which are supposed to jump using "medium-jump-size" (untested as nothing seems to use it)
  • Auto repeat toggle (tested on Windows 10 with ModernFlyouts)
  • Shuffle toggle (tested on Windows 10 with ModernFlyouts)
  • Timeline display and seeking (tested on Windows 10 with ModernFlyouts)
  • Media metadata display including album artwork (tested on Windows 10 with native UI and ModernFlyouts)

Unimplemented functions

  • Channel up/down buttons
  • Playback rate setting
  • Record button

Merge request reports

Members who can merge are allowed to add commits.

Merge request pipeline #296418 passed

Merge request pipeline passed for 778c88ad

Approval is optional
Merge blocked: 2 checks failed
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading