mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 11:57:32 +09:00
Fix bug in Windows SMTC
This commit is contained in:
parent
fd27b407c3
commit
a21f2f8be3
3 changed files with 36 additions and 0 deletions
|
|
@ -1869,6 +1869,8 @@ function updateWindowsSMTCMetadataFromTab(aTab, aPlaying) {
|
||||||
uiUtils.setSMTCMetadata(title, artist, album);
|
uiUtils.setSMTCMetadata(title, artist, album);
|
||||||
if (thumbnailURL) {
|
if (thumbnailURL) {
|
||||||
uiUtils.setSMTCThumbnailURL(thumbnailURL);
|
uiUtils.setSMTCThumbnailURL(thumbnailURL);
|
||||||
|
} else {
|
||||||
|
uiUtils.clearSMTCThumbnail();
|
||||||
}
|
}
|
||||||
uiUtils.setSMTCPlaybackState(!!aPlaying);
|
uiUtils.setSMTCPlaybackState(!!aPlaying);
|
||||||
gLastSMTCMediaTab = tab;
|
gLastSMTCMediaTab = tab;
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,12 @@ interface nsIWindowsUIUtils : nsISupports
|
||||||
*/
|
*/
|
||||||
void setSMTCThumbnailURL(in AString aThumbnailURL);
|
void setSMTCThumbnailURL(in AString aThumbnailURL);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear native Windows System Media Transport Controls artwork.
|
||||||
|
* No-op on unsupported Windows versions.
|
||||||
|
*/
|
||||||
|
void clearSMTCThumbnail();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear native Windows System Media Transport Controls metadata.
|
* Clear native Windows System Media Transport Controls metadata.
|
||||||
* No-op on unsupported Windows versions.
|
* No-op on unsupported Windows versions.
|
||||||
|
|
|
||||||
|
|
@ -494,6 +494,34 @@ WindowsUIUtils::SetSMTCThumbnailURL(const nsAString& aThumbnailURL)
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
WindowsUIUtils::ClearSMTCThumbnail()
|
||||||
|
{
|
||||||
|
#ifndef __MINGW32__
|
||||||
|
if (!IsWin10OrLater()) {
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsresult rv = EnsureSMTC();
|
||||||
|
if (NS_FAILED(rv)) {
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
if (!gSMTC) {
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
ComPtr<ISystemMediaTransportControlsDisplayUpdater> updater;
|
||||||
|
HRESULT hr = gSMTC->get_DisplayUpdater(&updater);
|
||||||
|
if (FAILED(hr) || !updater) {
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
updater->put_Thumbnail(nullptr);
|
||||||
|
updater->Update();
|
||||||
|
#endif
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
WindowsUIUtils::ClearSMTCMetadata()
|
WindowsUIUtils::ClearSMTCMetadata()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue