The aac files behind voice messages are missing length information
- [x] I have searched open and closed issues for duplicates
- [x] I am submitting a bug report for existing functionality that does not work as intended
- [x] I have read https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports
- [x] This isn't a feature request or a discussion topic
Bug description
This was discovered to be a bug in the android app in https://github.com/signalapp/Signal-Desktop/issues/7036. The aac files that get produced by the android app have no length information, resulting in the application guessing the length. This is inaccurate and leads to the reported length always being shorter than the actual length. Trying to play an affected voice message with e.g mpv has the exact same issue like signal desktop but with a helpful warning:
[ffmpeg/demuxer] aac: Estimating duration from bitrate, this may be inaccurate
For a yet unknown reason they do display fine on the android app though. Signal desktop produces entirely unaffected voice messages because it uses the mp3 format, not aac.
Steps to reproduce
- Record a voice message that is at least 30 seconds long. The longer the duration, the higher the inaccuracy.
- Send it to someone that has signal desktop.
Actual result: With a file that is actually 2 minutes and 29 seconds long it is reported as 2 minutes 18 seconds long on signal desktop. Expected result: The file has metadata or something in it so the length does not have to be guessed and it reports 2 minutes and 29 seconds in this case.
Screenshots
Voice message as displayed in signal desktop:
The very same voice message as displayed on my linked Android phone:
Device info
Device: Various, including Pixel 5 (with lineageos) and recent Samsung A-something. Android version: Various, sender has 14. Signal version: 7.17.6
Link to debug log
n/a
I have recorded an affected example file using the Android app (gz as github does not like aac itself):
There are around 3 seconds of inaccuracy here. The file contains the quiet purring of a cat. On Android, where I recorded and sent it, it is displayed as 34 seconds. 31 seconds on desktop.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This is still happening.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
It has been 5 months, can someone at least triage this issue so stalebot stops whining?