chr56 / Phonograph_Plus

A fork of kabouzeid/Phonograph in maintenance and development
GNU General Public License v3.0
371 stars 19 forks source link

[Crash Report] Crash when TagBrowser parses .opus file tags with large embedded album art #221

Open user46932 opened 2 weeks ago

user46932 commented 2 weeks ago

Crash log

Subject: Input dispatching timed out (90e6b55 player.phonograph.plus/player.phonograph.ui.modules.tag.TagBrowserActivity (server) is not responding. Waited 5001ms for MotionEvent).

Version

1.8.3

Steps to reproduce the bug

For a .opus file with an embedded, high-resolution (e.g. 1200x1200) album art image:

  1. Tap three dots next to a .opus song
  2. Select "details"

Environment

App version:     1.8.3 (1083)
Git Commit Hash: aad08e40ce94acf73919fce44887951110e0dff5
Package name:    player.phonograph.plus
Release favor:   modernStable
Android version: 14 (API 34)
Architecture:    arm64-v8a, armeabi-v7a, armeabi
Soc:             SM7250/barbet (by Qualcomm) 
Device brand:    google (by Google)
Device model:    barbet/Pixel 5a (code barbet)
Build version:   AP2A.240805.005.24510020
                 (24510020)
Language:        en
Screen:          2138x1080 (dpi 420)
Permissions:     Storage(READ WRITE)

Screenshots or Screen recordings

No response

Other helpful information

I created three copies of the same .opus file:

  1. No embedded album art
  2. Small embedded album art (200 x 200)
  3. Large embedded album art (1400 x 1400)

TagBrowser successfully loads tag information for the file copies with no or small album art, but crashes when parsing the tags of the file with large embedded album art. The current behavior of TagBrowser for .opus files is to display the full binary contents of the embedded art in the COVER_ART field, which may be responsible for the app crash.

chr56 commented 3 days ago

It look likes that Vorbis Comment Tag causes the problem (In Vorbis Comment, images would be encoded in base64, which would be directly displayed in Phonograph Plus no matter how long or large they are, so that causing such issues).

Try this preview with special treatment to Vorbis Comment.