Comments (1)
Hi @Tr736,
Thanks for reporting! For me, on Android 14, the issue was reproducible with the test controller app connecting with the demo session app.
After the artworkUri
was changed at the controller, things worked fine to replace the MediaItem
to the session, and session triggered onMediaMetadataChanged
event. While in updateMediaMetadataIfChanged
in MediaSessionLegacyStub
(which is going to update the System UI notification), I found that the artworkData
coming with the newMediaMetadata
was not null. Thus, the default implementation of the BitmapLoader
would decode the artworkData
instead of loading from artworkUri
.
In fact, this artworkData
is coming from the media itself. The ApicFrame
got decoded and populated to the MediaMetadata
. When the ExoPlayer
updates the playbackInfo
, it will build a MediaMetadata
based on the metadata from the media and the metadata from the MediaItem
. The strategy is, the metadata from the MediaItem
will be prioritized, as long as they are non-null.
The MediaItem
I have was not set with artworkData
, thus the artworkData
was filled with the data from the ApicFrame
. This probably be your situation as well I assume? Actually this means that when you have a MediaItem
with only artworkUri
set, which corresponds to bitmap A, yet in the presence of the artworkData
from the media which corresponds to bitmap B, you won't see the bitmap A showing on the notification, without needing to go through the replaceMediaItem
step.
This is a bug that we should fix our side. I'm not sure if your app mostly uses artworkUri
as the bitmap information for the session, if yes, as a temporary mitigation step, you can customize you BitmapLoader
by overriding this method with prioritizing the loading from artworkUri
.
We will provide a solution to this and update this issue. Thanks for reporting this bug!
from media.
Related Issues (20)
- OverlayShaderProgram ignores "enableColorTransfers" and always converts overlay colors HOT 1
- Future get Security exception HOT 1
- Support for thumbnail scrubbing in 1.3.0 ? HOT 3
- BUG: DebugViewProvider/AspectRatioFrameLayout is rotated 90 degrees. HOT 6
- FPS conversion HOT 1
- get currentMediaItemIndex while using concatenatingMediaSource2 HOT 1
- Android 14: Failed to set playback params: arguments out of range HOT 4
- ConcatenatingMediaSource to ConcatenatingMediaSource2 HOT 1
- minor bug , with Release Candidate 1 (rc1) All The stream I have done test works fine except this stream. HOT 3
- Add Google Voice Assistant to the demo app of Media3 1.3.0 to use voice for opening stream on demo HOT 2
- we cannot find the exo_play and exo_pause in custom_player_control.xml,Something inside this implementation is creating problem
- A few video in a list overlap each other HOT 9
- No documentation for how to use ProgressiveMediaSource HOT 2
- OOM probably due to bad file
- Playback speed doesn't work on some devices with Audio Offload Enabled
- How to pass the tag in MediaItem to the customData of DataSpec?
- Android Auto Grid Layout with Media3 HOT 4
- Exoplayer.release did not free memory? Is it a Known issues??2.11.8 and 2.19.1
- Exoplayer does not resume once the Ad creative load is blocked via Charles HOT 3
- "Session ID must be unique. ID=" when building a session HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from media.