Skip to content

The future of Stagefright extractors and hence MediaStore metadata #3130

@nift4

Description

@nift4

Hi,

sorry for the slightly OT question here. ExoPlayer is very obviously the recommended solution for media playback scenarios these days, as documented. It has also been stated that MediaPlayer bugs are not being investigated at the moment: https://issuetracker.google.com/issues/394350446#comment10

ExoPlayer fully works as replacement of MediaPlayer class, and media3 session works as replacement of platform MediaSession. However there is still a piece of Android which is affected by this partial abandonment of Stagefright legacy framework, and it's MediaStore.

To be clear, the file listing, change tracking and file I/O capabilities of MediaStore are satisfactory, but the metadata cache aspect is not.

It has some bugs which are actually MediaMetadataRetriever bugs:

which don't seem to be getting much activity if at all. There's also some missing features (such as classical music tags, or multiple artist support). As such, as app dev, I currently don't have another choice than to waste these resources and reindex myself.

Replicating this system-wide metadata cache is way harder than it may seem because MediaStore can keep track of file changes because it gets notified by SAF and other apps when something changes. It exposes this information to apps with generation IDs (which are a very good idea), but it still wastes resources to reindex storage individually in every app even if you have caching figured out.

Is there any plan to improve MediaMetadataRetriever (backed by stagefright extractors)?

If not, is there any plan to move MediaStore over to ExoPlayer based metadata parsing?

Thanks for considering.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions