You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Pixelated artwork in notification and lock screen (1024x1024 PNG) #3134
I'm experiencing an issue where the artwork displayed in the media notification and on the lock screen appears heavily pixelated / blurry, even though the source image is high quality.
The image used is a 1024x1024 PNG, so resolution should be sufficient.
The issue has been specifically observed on Samsung devices.
Image format: PNG
Resolution: 1024x1024
I also tried:
Passing artwork as a ByteArray
Converting the image locally to WebP from ByteArray
Create a MediaItem with artwork using MediaMetadata.setArtworkUri
Provide a high-resolution image (1024x1024 PNG)
Start playback using Media3 session/player
Observe notification and lock screen artwork
Expected result
Artwork should be displayed in good quality (properly scaled, no visible pixelation).
@icbaker The fix for #3084 only changed code for SDK<31, while S24 have launched with Android T/U respectively. I think this a subtly different bug resulting from a Samsung customization.
I was able to reproduce a slight blurriness if the provided artwork size is just a power-of-2 multiple above the system enforced size limit. As the current logic was only using the efficient subsampling logic during decoding, which may cause the Bitmap to be only half as large as it should be. From the screenshots above I can't 100% confirm this is the complete explanation for what you are seeing, but it's at least a likely explanation.
The relationship to these devices is probably the exact size limit configured in the system. On the Samsung S24 I tested, the limit was 480 pixels, so your 1024px artwork was scaled down by a factor of 4 to only 256 pixels.
We'll provide a fix that still uses the efficient subsampling for decoding itself, but then applies proper scaling to the exact size limit to prevent under shooting the limit significantly.
Activity
AleksanderMielczarek commentedon Mar 24, 2026
Seems like downgrade to 1.8.0 fix the issue.
icbaker commentedon Mar 24, 2026
The symptoms sound like a duplicate of #3084
nift4 commentedon Mar 24, 2026
@icbaker The fix for #3084 only changed code for SDK<31, while S24 have launched with Android T/U respectively. I think this a subtly different bug resulting from a Samsung customization.
joselynerodrigueztorres2-ai commentedon Apr 5, 2026
Exo?internal fun MyAudio.mapToMediaItem(): MediaItem {
return MediaItem.Builder()
.setUri(audioEndpoint)
.setMediaId(id.toString())
.setMediaMetadata(
MediaMetadata.Builder()
.setArtworkUri(artworkUrl?.toUri())
.setTitle("Title")
.setDescription("Description")
.build()
)
.build()
}
tonihei commentedon Jun 16, 2026
I was able to reproduce a slight blurriness if the provided artwork size is just a power-of-2 multiple above the system enforced size limit. As the current logic was only using the efficient subsampling logic during decoding, which may cause the Bitmap to be only half as large as it should be. From the screenshots above I can't 100% confirm this is the complete explanation for what you are seeing, but it's at least a likely explanation.
The relationship to these devices is probably the exact size limit configured in the system. On the Samsung S24 I tested, the limit was 480 pixels, so your 1024px artwork was scaled down by a factor of 4 to only 256 pixels.
We'll provide a fix that still uses the efficient subsampling for decoding itself, but then applies proper scaling to the exact size limit to prevent under shooting the limit significantly.
Fix double-downscaling of artwork in MediaSession.
chore(deps): bump media3 1.10.1 -> 1.11.0