Signal-android: Error playing Audio!

Created on 30 Apr 2018  Â·  90Comments  Â·  Source: signalapp/Signal-Android


Bug description

Can't hear any audio message received.

Steps to reproduce

  • receive and audio message
  • push play button

Actual result: get "Error playing Audio"
Expected result: Hear the audio message

Device info


Device: Moto G4 Plus
Android version: 7.0
Signal version: 4.19.3

Link to debug log

https://debuglogs.org/f1b2c0fcde01e98637fbd08ed68629ee486c030800d18ea14fa59fff56917e88

Most helpful comment

Got my Moto G4, and I can repro! Will try to take a look at this soon. Just know that media playback issues can be terrible to debug, so bear with me.

All 90 comments

I experience the same issue since several months with my Huawei Mate 9.

https://debuglogs.org/713ea46e5a16704dd0003d1506d8322296e2b8a524e2b8ed2f943ae188092422

Was able to reproduce this bug and narrowed down a bit what might be causing the issue. Audio files (MP3) with length of around 25-24 seconds and less, play with no problem. Audio with a length greater than 25 seconds can't be played.

Found an oddity that 24 - 25 second length audio can be forced to play by repeatedly pressing the play button. After around 3 pressed, the audio will play. Pausing and playing again will raise the error. Have not found that this method allowed 30 second audio to be "forced" to play, as well as I couldn't cause 23 and less length audio to error out.

Upon further testing, I've narrowed down that MP3s >600KB in size raises the Error playing audio!. MP3s audio files <300KB and smaller have no problems playing.

Also found that .wav files have no such problems. Even with a .wav file at a 30MB size had no issues.

I've attached a zip with a ~300Kb MP3, ~600Kb MP3, and a 30Mb WAV audio for reproducibility.
audio_files.zip

Steps to Reproduce:

  1. Create MP3 audio file larger than 600KB. I used the Voice Recorder app off the Google Play Store to create the file.
  2. Upload audio file to yourself or a contact
  3. Attempt to play file in chat.

Device info

Device: Google Pixel 2
Android version: 8.1.0
Signal version: 4.18.3

Link to debug log

https://debuglogs.org/0cf5b12a54526d4f05d8d401f6564cfb374a1cbd115f7138b1617e54a30d79b2

Same here.

Cannot play sent or received, of any length.
Trying to download them on disk, they're saved in aac and my Huawei p20 pro can reproduce them with the included audio player.

This is the log:
https://debuglogs.org/b6116d58d2e519dab355aaa67bae38defaa4cf88b355f05edeeb3251e9235bfe

I think that the problem is in the line 'no content provider'.
It's like that signal cannot found an appropriate audio player.

I forgot to say that with every other messaging app it works. I tried WhatsApp, telegram and threema.

I can play received audio but not sent audio. I think this is an Android issue, since it started happening after an update.

Moto G4

We do have the same problem with all our Moto G4 devices an with a brand new Huawei P Smart

There ist an old Issue from 2017 with al lots of users with the same problem.
https://github.com/signalapp/Signal-Android/issues/6263

Same problem on new

  • HUAWEI Y6 2018
  • Android 8.0.0
  • Build-Nummer ATU-L21 8.0.0.100(C432)
  • Signal 4.19.3

Same Problem with Honor 7X
Android 8.0.0 (updated today, problem since then)
Signal 4.19.3
Debug Logs: https://debuglogs.org/10de05aef667bd81fbabfcc7e6a9540cf2aa674e6ba48e063665e44e5b5a5c4e

Same here on Huawei Mate 9 (MHA-L29).
Android 8.0.0.366(C432)
Signal 4.19.3

https://debuglogs.org/ce6056ef4462f5b5616f43d9cae346bc64f1790a4c8a35097e7af273e8ffd96b

As pointed out by others before, I can also save the aac file and play it without issues in the default media player.

Is it worth it to try to use ExoPlayer for audio playback instead of the standard MediaPlayer class?

Although the default player is probably using MediaPlayer as well:
https://android.googlesource.com/platform/packages/apps/Music.git/+/master/src/com/android/music/utils/Playback.java
... if I'm looking in the correct place

The first few voice messages worked for me, but since then I keep running into this error too and also can't hear to my messages and the ones from my chat-partner which worked in the beginning.

This seems to be an old error which many people have since there was also an old ticket. I couldn't see there or here any feedback from the developers. Is there a chance this ever will be fixed or at least tested/debugged?
I like this messager at the first glance, but with this severe bug it is unusable for me.

Moto G5
Android 7.0

Mitigation:

When the whole message doesn't play, fully restarting[1] the app often allows it to be usable.
So there are some messages that at least begin to play correctly.
And when I want to replay them, and even others. It doesn't work anymore. It's like the audio player is in a broken state. And restarting the app fixes it. [2]

But some messages fail to play in the middle and this won't work. No way to ear them.

[1] Go into the app info and hit "Force stop"

[2] Confirmed, I can reproduce this in less than one minute of playing some of the audio messages that I have.

More info

  1. In my case, these problematic messages come from only one recipient for now.

  2. The "playing bar" has erratic behavior, it's often jumps back.

  3. It plays well in Signal Desktop

I hope all this can help.

Same here, all our "family phones" won't play any voice messages. Sent audio files do not have any issues. We all have Huawei P10 (Plus) ..
That's a real game stopper as this is something very fundamental. This audio issue is around for quite a while now.

The same for me on a Moto G4, randomly some audio messages stop playing in the middle, the system saying "error playing audio file". After this all audio messages will result in the same error when played.

If I "force stop" signal from Apps in Settings like tuxayo suggested above and launch it again the problem disappears until next time.

"Error playing audio file" on all voice messages here as well:

  • Huawei Mate 10 Pro build BLA-L29 8.0.0.142(C432)

  • Android 8.0.0 last patch may, 5th 2018

  • Kernel 4.4.23+

  • Signal 4.21.6

Debug-Log:
https://debuglogs.org/ac3978959e498933c85fd2d8e86d47aa8433b925a6f80b4cae09ed03f37649b6

Help would be great. Otherwise I had to downgrade to a Huawei y6 pro 2017 which is a bit puny but (so far) works fine with Signal. :(

Thanks and good luck!

Same Issue - can not play any voice message.

Error in German is "Fehler bei der Audiowiedergabe" means "Error playing audio"

Can save recording on device an play externally.

Forcing stop Signal does not change anything.

  • Huawei P20 Pro
  • Android 8.1.0 (Kernel 4.4.103+)
  • Signal 4.22.2

This issue is very anoying, as I use voice messages a lot. Would be great to have a fix!

I have the Huawei P20 Pro and I have the same problem. I believe I had the same problem on my Pixel too.

I've been getting this too for the last month or two. There are three workarounds that I employ when I get this:

  • hard restart of my phone (Xiaomi Redmi 4x)
  • Go onto my desktop and listen to messages from the electron app
  • Save the messages onto my phone and listen with an external media player

Device Info

Signal Android version: 4.23.4
Android version: 7.1.2
OS: Resurrection Remix Nougat

Phone logs where the bug occurred:
https://debuglogs.org/aa1c3e985ecb7db23881ee5d4554d4ba139bea78a7301ac2ab4a3ed8cf86c579

@subhani84 I have a Pixel XL and voice messages work flawlessly.

Exact same Issue - can not play any voice message.

Error in German is "Fehler bei der Audiowiedergabe" means "Error playing audio"

Can save recording on device and play externally.

Forcing to stop Signal does not change anything.

Huawei P20 Pro
Android 8.1.0 (Kernel 4.4.103+) / Build Number: CLT-L09 8.1.0.131(C432)
Signal 4.23.4

This issue is a key feature for me, please fix!

Has the Signal team received this report? Has it been acknowledged and reproduced? Is there any plan to remedy the problem?

@subhani84
Hi there, greyson-signal added this to the 4.24 milestone 19 days ago, so it should be fixed as soon as they have found the problem which obviously is not trivial. ;)

Greets from the Baltic Sea.

Oh thank you for confirming. Looking forward to the fix. Cheers!

On Wed, 18 Jul 2018, 11:32 am NickName, notifications@github.com wrote:

@subhani84 https://github.com/subhani84
Hi there, greyson-signal added this to the 4.24 milestone 19 days ago, so
it should be fixed as soon as they have found the problem which obviously
is not trivial. ;)

Greets from the Baltic Sea.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/7748#issuecomment-405886843,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APwqRJBeQGlm6kuXWp1RFWVD9fgsRRl7ks5uHw7RgaJpZM4TsnFa
.

Ok, so some not-so-great news. My approach to solving this was going to be to switch to using ExoPlayer for playback. Unfortunately, ExoPlayer doesn't support seeking on AAC files, which are what we send voice memos with.

Before I start doing anything crazy, can I get a sample of a voice memo that someone is unable to play, as well as the device they're having problems with? I saw someone attach some MP3's that failed, which are very helpful. I'm just more worried about voice notes at the moment.

So the last time I checked a voice message I received, it was an AAC file as per Signal criteria. I had to download the voice note first. Then use my phone's built in file explorer to listen to the file. If I choose to play the file using GPM it plays fine and allows me to choose position on the 'time bar'. I can also do the same using the phone's built in music player.

My phone is Huawei P20 Pro. Android Oreo. Official and stock Huawei ROM. No root.

@subhani84 Yep that appears to be the bug. I guess I'm asking for someone to attach one of these "broken" AAC's to the ticket. So I can repo myself, since I'm unable to generate one that doesn't play.

Regarding seeking, we're just in a situation where the default Android MediaPlayer can seek but sometimes chokes on some files, whereas I assume ExoPlayer would do a better job with playback, but it doesn't appear to be able to seek the file. So just trying to debug things and figure out some options.

@greyson-signal For your information:

Playing audio worked perfectly on my HUAWEI P8 LITE 2017 while it was running Android 7.0 but it stopped playing (signal) audio messages yesterday when the firmware was updated to Android 8.0.0.

Let me know, if I can help you to fix this issue which certainly is a pain for many users.

@Wikinaut you can help by uploading an AAC file that fails to play.

@greyson-signal
jfk.zip
inside the zip: jfk.m4a as requested

Same problem here on a Huawei P20 Lite, running Android 8.
If any further information or audio file is needed, just let me know.

@greyson-signal in https://github.com/signalapp/Signal-Android/issues/7748#issuecomment-407774640 I have uploaded an aac file (the John F. Kennedy "Ich bin ein Berliner" speech excerpt, zipped, because github does not allow uploading audio files unwrapped).

Here is an additional observation which might point to the underlying reason in Signal.

I found, that it makes a major difference whether the sender sends the audio file by method 1 or method 2:

  • Method 1: Signal. Select the aac file as file attachment. Send the attachment. ; or
  • Method 2: File Manager. Select the aac file. Select "share with..." Select Signal. Signal starts up. The aac audio file is added as "Signal audio message" to Signal. Send this.

The received file - when it is sent by method 1 - can be saved (exported from Signal to the internal file system)in the recipients smartphone, and it can then be played (externally from Signal) without problems.

The file received - when sent by method 2 - cannot be played (as known; this is the subject of this github issue).

So perhaps the method-2 problem is only a question of wrong headers and/or wrong encoding?

@Wikinaut Interesting. Can you clarify whether audio files sent via method 1 or 2 can be played using the in-app player?

Also, are you saying that Method 1 can be played by an external player, but Method 2 _cannot_ be played by an external player?

@greyson-signal

  • Method 1 aac (m4a) file attachment:
    Long-click in Signal -> stores this as jfk.m4a in the Local > Internal memory > Download.

  • Method 2 file (signal audio message, or how do you call this?)
    Long-click in Signal -> stores this as signal-2018-07-25-162642.mp3 in Local > Internal Memory > Music.

Both files can be played when selected with the Device File Manager with

  • Google Music ; or
  • Vanilla Music (my favourite open source app https://github.com/vanilla-music/vanilla )

I have same problem to play recieved voice message on Huawei Mate 10 lite running stock ROM / Android 8.0, see attached system info.
img-20180721-wa0006

@greyson-signal Was my audio file helpful? Do you need further information?

I can confirm the Problem with a P20 Pro

Hi

I can confirm absolutely the same Signal behavior on my new Huawei P20pro.

The same voice message worked fine on my old Samsung galaxy S5.

@Wikinaut Can you send me the model number and stuff for the P8 lite you're
having problems with? I'm just going to have to buy one of these phones, so
provide all the details you can so I can make sure I'm getting the right
one :)

On Fri, Aug 10, 2018, 2:20 PM AlteSocke81 notifications@github.com wrote:

Hi

I can confirm absolutely the same Signal behavior on my new Huawei P20pro.

The same voice message worked fine on my old Samsung galaxy S5.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/7748#issuecomment-412165192,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjlVq8Nv0G4yoLAAcfWLdfDiFgotuCt7ks5uPc8DgaJpZM4TsnFa
.

@greyson-signal I suggest you buy the Y6 2018, one of the cheapest mentioned here:

  • HUAWEI Y6 2018
  • Model ATU-L21
  • Android 8.0.0
  • Build-Nummer ATU-L21 8.0.0.132(C432)

The other is

  • HUAWEI P8 LITE 2017
  • Model PRA-LX1
  • Android 8.0.0
  • Build-Number PRA-LX1 8.0.0.370(C432)

Same Issue - can not play any voice message.
Can save recording on device an play externally.
Forcing stop Signal does not change anything.

  • HUAWEI CLT-L09 (CLT-L09) (Huawei P20 Pro)
  • Android : 8.1.0 (152(C432), CLT-L09 8.1.0.152(C432))
  • Signal 4.25.3 (beta)

Phone Log:
https://debuglogs.org/294f8d38f34bca991428ca45bedfbdac4894c7500bde9529175b5b5588a11cc1

@greyson-signal this is sample of a voice memo unable to play:
signal-2018-08-22-132049.zip

So since a couple of days ago, the audio messages are now working again! I reported here that it didn't work on my P20 Pro. Signal did update the app, I am on the beta version so can someone on beta also confirm?

@subhani84 On my HUAWEI P8 LITE 2017 the audio-not-working problem persists; I cannot notice any improvement.

  • HUAWEI P8 LITE 2017
  • Android 8.0.0
  • Signal Beta 4.25.6

That's odd. Huawei delivered an update about two weeks ago but I didn't think that would have a fix for this.

@subhani84 I don't think, that this is a HUAWEI-specific issue, as I have other apps which run and play perfectly audio files (Vanilla Music, RadioDroid player, Soundmachine)

Yes I'm still very confused because it wasn't working for me for a over a couple months and then just suddenly it is all okay? So weird...

@subhani84 the problem came up on my phones when they were updated from Android 7 to 8

As an update, I got a Huawei Mate 10 Lite that was mentioned to have this problem, but I've been unable to repro still. I have a Moto G4 on the way that is also supposed to have this problem, so fingers crossed.

For me and some others (all using Moto G4 Plus) this issue came up right after updating Android as well (but using the OTA update from stock 6.0 to stock 7.0 in our case, and without uninstalling Signal beforehand of course). Might be good to take that into consideration as well for reproducing - perhaps something gets screwed up during updating the Android version, if Signal was installed and used before...

Interestingly, it seems that mostly German users are affected. I played a bit with system and Signal language (just out of curiosity), but that didn't change a thing.

@greyson-signal pls. can you have a look into this issue?

On my P20 Lite Pro the issue is also still persistent (also German language).

Should I uninstall the beta and reinstall the public version and see if I
can reproduce the issue? Or some older version of the app?

On Fri, 31 Aug 2018, 6:41 pm Wikinaut, notifications@github.com wrote:

@greyson-signal https://github.com/greyson-signal pls. can you have a
look into this issue?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/7748#issuecomment-417739295,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APwqRGHCfLcLpFaEJ0WWZV31bfE1FCfTks5uWXVPgaJpZM4TsnFa
.

@Wikinaut I want to! Like I said, I bought one phone and couldn't repro, and I'm waiting on another to arrive.

@subhani84 I think this issue has been going on for quite a while, and given that our audio recording/playback hasn't changed in a long time, it most likely has something to do with media-playback incompatibilities that come up on certain phones and Android versions. So don't worry about trying to find a version of Signal where things broke. But thanks!

So, essentially no fix? I can confirm the same behavior in Huawei Mate 10 Pro. It really sucks that I need to switch to another messaging app temporarily just to send audio files :/

Got my Moto G4, and I can repro! Will try to take a look at this soon. Just know that media playback issues can be terrible to debug, so bear with me.

Hey, just wanted to give an update on this just so people think I haven't forgotten :) I did look into this for a day and encountered some Hard Problems.

First, the device is just encountering an arbitrary media playback error from Android's MediaPlayer. MediaPlayer is one of those things that's implemented entirely in native code that is often changed by the manufacturer, which is how you end up with these device-specific problems.

The obvious solution was to do audio playback with ExoPlayer, and it does work! Unfortunately, ExoPlayer doesn't support seeking raw AAC audio data, which is what we record. So it'd just introduce a whole batch of new bugs.

Right now, I'm thinking the solution would be to pick a different audio container for our voice notes that ExoPlayer supports seeking on. Unfortunately, I haven't found a good way to do audio transcoding on Android in a way where unencrypted bytes never touch the disk. All of the MediaCodec-family of API's require that you provide a seekable FileDescriptor, meaning it'd write the unencrypted transcoded file to disk, which isn't acceptable.

So yeah, this isn't an easy problem to fix, but it's going to be something I'm thinking about. Of course if anyone knows of any good Android media transcoding libraries that allow transcoding in a stream-like fashion (so we can encrypt bytes before they hit the disk), please shout it out! But yeah, it's a hard problem.

Thank you for the update. Looking forward to future results.

On Tue, 11 Sep 2018, 6:42 pm Greyson Parrelli, notifications@github.com
wrote:

Hey, just wanted to give an update on this just so people think I haven't
forgotten :) I did look into this for a day and encountered some Hard
Problems.

First, the device is just encountering an arbitrary media playback error
from Android's MediaPlayer. MediaPlayer is one of those things that's
implemented entirely in native code that is often changed by the
manufacturer, which is how you end up with these device-specific problems.

The obvious solution was to do audio playback with ExoPlayer, and it does
work! Unfortunately, ExoPlayer doesn't support seeking raw AAC audio data,
which is what we record. So it'd just introduce a whole batch of new bugs.

Right now, I'm thinking the solution would be to pick a different audio
container for our voice notes that ExoPlayer supports seeking on.
Unfortunately, I haven't found a good way to do audio transcoding on
Android in a way where unencrypted bytes never touch the disk. All of the
MediaCodec-family of API's require that you provide a seekable
FileDescriptor, meaning it'd write the unencrypted transcoded file to disk,
which isn't acceptable.

So yeah, this isn't an easy problem to fix, but it's going to be something
I'm thinking about. Of course if anyone knows of any good Android media
transcoding libraries that allow transcoding in a stream-like fashion (so
we can encrypt bytes before they hit the disk), please shout it out! But
yeah, it's a hard problem.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Android/issues/7748#issuecomment-420358775,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APwqRKb8kvV1c8w1cIiir6nrTu1O6CiBks5uZ_YGgaJpZM4TsnFa
.

According to the ExoPlayer issue tracker approximate seeking using a constant bitrate assumption will be available in version 2.9.0. Don't know if this is enough.

Does anyone know how the other messaging apps do this? I assume they aren't as stringent about not letting unencrypted bytes touch the disk?

https://github.com/signalapp/Signal-Android/issues/7748#issuecomment-420358775

Unfortunately, I haven't found a good way to do audio transcoding on Android in a way where unencrypted bytes never touch the disk. All of the MediaCodec-family of API's require that you provide a seekable FileDescriptor, meaning it'd write the unencrypted transcoded file to disk, which isn't acceptable.

Maybe https://stackoverflow.com/questions/10521471/android-creating-a-memory-resident-input-file-that-can-be-attached-to-an-email/10860144#10860144

The next issue you bring up is not having the file actually on disk. While I can't vouch for the method you used above (though it looks kosher), what you need to be returning is a ParcelFileDescriptor from your ContentProvider. If you look at the link I provided, you could possibly try to use that as a sample to get the file descriptor from your File object (my knowledge waivers here), but I imagine, the data simply wont be available at that point.

Or maybe https://developer.android.com/reference/android/os/MemoryFile

Maybe https://stackoverflow.com/questions/10521471/android-creating-a-memory-resident-input-file-that-can-be-attached-to-an-email/10860144#10860144

Unfortunately that doesn't help. Using a ContentProvider would still require us to somehow give back a FileDescriptor. The classic way to get a FileDescriptor for something that isn't a file is to use ParcelFileDescriptor.createPipe(). Unfortunately, that provides a non-seekable FileDescriptor, while the MediaMuxer stuff requires a seekable FileDescriptor (newer versions of Android will straight-up crash if provided a non-seekable FileDescriptor).

Or maybe https://developer.android.com/reference/android/os/MemoryFile

Unfortunately that's not an actual File subclass and provides no method to retrieve a FileDescriptor.

But thank you for the suggestions!

@greyson-signal What about https://github.com/google/ExoPlayer/issues/4548? It mentiones the addition of approximate seeking using a constant bitrate assumption in version 2.9.0. This should make using audio playback with ExoPlayer possible. According to the code audio is recorded with constant bitrate anyway.

Same problem on a Huawei P smart with
Android 8.0.0
Signal: 4.25.10

Thank you for trying to find a fix for this issue!

I had this problem since i got my Honor 10 with Android 8.1.0.
Today's Beta Signal 4.26.0 solved it for me. All audio-messages play as expected.

No change with Beta 4.26.0 on Huawei P smart :-/

@Ketadoc That's interesting, I haven't made any changes that would help :) I know my Huawei Mate 10 Lite recently prompted me with an OS update -- did you by chance recently do an update? Maybe that could have fixed it?

@billie80 I'm very hopeful that ExoPlayer adding seek support would solve all of our problems. Waiting for a stable release to test with.

@greyson-signal No. There was no OS-update since it last failed to play an audio-message. That made me curious if something was changed, that helped solve the issue by chance so I mentioned it.

I'd like to contribute more but my programming-level is "script-kiddy" at best...

Nothing has changed on my Huawei Mate 10 Pro.
But things are getting worse --> with the desktop-app (1.16.1) there was a failure in sending messages and files since last night.
As well as with my Huawei Y 6 Pro 2017, which worked fine with signal ever since today. Audio Messages weren't shown, after a couple of minutes they are, but without the message, the receiver gets a failure as well. pdf-files are no longer able to be opened with signal as well. Have to save them to the download-folder before I can open them. Big problem for my non-it-firm colleagues.

Would be nice to here from a change to the better! Thanks in advance and take care!

@greyson-signal ExoPlayer has just released version 2.9.0, which according to this https://github.com/google/ExoPlayer/issues/4548 has support for seeking in AAC files with a constant bit-rate assumption.

@He-Ro Thanks for the heads up!

So, before 2.9.0 was stable, I tried building the dev version for testing purposes, and I ran into a bunch of weird build problems. I shrugged them off and figured I was building ExoPlayer wrong and waited for the stable release.

Unfortunately, I'm still having those same build problems. Specifically, using the new ExoPlayer version prevents the Glide code generation from happening during the build process. Super strange. I'd dig more into it, but my focus is 100% on the impending targetSdk 26 migration, which is higher priority.

I'll try again after I'm past that, but if anyone else wants to take a stab at getting the build working in the meantime, go for it :)

I noticed that if I record my voice message via signal desktop I can listen to it on my huawei p20 pro.

Messages received and recorded directly from the smartphone are not played.

Signal Desktop: v1.16.2
Signal Android: v4.28.0
Android: v8.1

Upgraded to Signal Android 4.29.7 today on LineageOs (v7.2.1).

Never had issues in voice message playback until now, but this update gave me several "Error play audio!" messages. Sometimes it would start the playback of the file, then stop abruptly and never manage to playback the same audio file again, while another short audio would work.

As others pointed out, large audio messages displayed the error, but short messages always work. Didn't investigate on the threshold.

Audio messages were sent by Signal Android (latest on the play store as of 2018-10-22).

After further testing, I noticed that forcefully terminating Signal I could manage to playback large files as well.

Hello!

I had a Huawei P9 lite phone. After some update of Signal, I started receiving audio playing errors.

Today I bought a new phone, Huawei P10. I still can not listen to the audio message. I get the report: error playing audio.

Are you kidding?
Will you do something with it finally ?!

Here is my log: https://debuglogs.org/a67d0f18c027d6bb03bc398a3f52110e976601deb10a1e56e93e32923f016ee6

Android version: 8.0.0
Signal version: 4.29.7

@greyson-signal According to Exoplayer documentation, AAC container playback is not as bug-free as M4A container, so why not just encode all audio to M4A?

https://google.github.io/ExoPlayer/supported-formats.html

Better yet, since Signal already transmits audio in Opus for voice calls, why not just encode voice message audio in Opus format as well? Considering the improvements in speech over mp3, aac, and ogg, Opus seems like the most modern, sensible, and FOSS solution to this issue, and Exoplayer has better Opus support. It's not as if Signal has an export function, so this won't be an issue on iOS.

Also, Exoplayer should be handling all media playback so I hope it's playing all media sent over Signal.

@Riotous Signal has unique requirements when it comes to handling media. Specifically, unencrypted bytes never touch the disk. In the case of audio encoding, it means we actually have to handle it ourselves so we can encrypt the stream as the bytes as they're encoded (see AudioCodec). So we're not going to be changing containers anytime soon :)

ExoPlayer already plays all of the video content in the app, it just wasn't handling audio playback for voice notes. #8359 changes changes this and hopefully fixes this issue :)

A fix was merged in the 4.31 branch which will go out in the corresponding beta (likely sometime early next week, if all goes well). Thank you for the patience, everyone!

And thanks to ExoPlayer for adding AAC seeking support :yum:

Hurra! I can confirm, that the beta version rolled out today (4.31.0) fixed this serious problem! Great work and thank you all.

Same here. Finally it works again :) Thanks a lot for fixing this!

Moto G4 Plus @ Android 7.0

Huawei P10 - works great, thx :)

Huawei Mate 9 also works again, hurray! Thank you very much!

Just wanted to give you folks a heads up: an issue came up in production, and I had to quickly get a patch out. Because of the way the beta channel + Android versioning works, I effectively had to revert all of the 4.31 changes (including this fix) temporarily. Once that stabilizes, we'll get everything back in order. Sorry for the switcheroo! This will all hopefully be resolved soon.

Yeap, new update today (4.30.8) and error playing audio again :/

Huawei P10

Yeap, new update today (4.30.8) and error playing audio again :/

Huawei P10

See here: #8389. The change had to be reverted temporarely, we'll just have to wait a bit. Let's no longer clutter this Github issue, since each post here results in a bunch of unnecessary notifications to a lot of people. Thanks! :)

It used to work after ExoPlayer had been implemented, but I just faced that error again (for the specs see log file) :confused: The cause is obviuosly not the same anymore, but it's still happening.

The debug log says:
========== SYSINFO ======== Device : motorola Moto G (4) (athene_f) Android : 7.0 (3, NPJS25.93-14-18) Memory : 52M (28.99% free, 384M max) Memclass: 192 OS Host : ilclbld72 App : Signal 4.31.5

2018-12-11 16:35:04.210 MEZ D AudioView: playbutton onClick

2018-12-11 16:35:04.236 MEZ I AttachmentServer: Header: connection : Keep-Alive

2018-12-11 16:35:04.237 MEZ I AttachmentServer: Header: host : 127.0.0.1:45798

2018-12-11 16:35:04.238 MEZ I AttachmentServer: Header: accept-encoding : identity

2018-12-11 16:35:04.240 MEZ I AttachmentServer: Header: user-agent : OWA

2018-12-11 16:35:04.245 MEZ I AttachmentServer: headers: HTTP/1.1 200 OK Content-Type: audio/aac Accept-Ranges: bytes Content-Length: 219 Connection: Keep-Alive

2018-12-11 16:35:04.273 MEZ W AudioSlidePlayer: MediaPlayer Error: com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream.

2018-12-11 16:35:09.258 MEZ W AttachmentServer: null

2018-12-11 16:35:09.258 MEZ W AttachmentServer: java.net.SocketTimeoutException: Accept timed out

2018-12-11 16:35:09.258 MEZ W AttachmentServer: at java.net.PlainSocketImpl.socketAccept(Native Method)

2018-12-11 16:35:09.258 MEZ W AttachmentServer: at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:430)

2018-12-11 16:35:09.258 MEZ W AttachmentServer: at java.net.ServerSocket.implAccept(ServerSocket.java:531)

2018-12-11 16:35:09.258 MEZ W AttachmentServer: at java.net.ServerSocket.accept(ServerSocket.java:499)

2018-12-11 16:35:09.258 MEZ W AttachmentServer: at org.thoughtcrime.securesms.attachments.AttachmentServer.run(AttachmentServer.java:82)

2018-12-11 16:35:09.258 MEZ W AttachmentServer: at java.lang.Thread.run(Thread.java:761)

2018-12-11 16:35:09.269 MEZ D AttachmentServer: Proxy interrupted. Shutting down.

@PiCob

  • What type of file are you playing? Is this still voice notes? (ExoPlayer is reporting it doesn't understand the file format. It could be masking a deeper problem though.)
  • If you force-stop Signal and try playing it again, does it work?

    • If no, does restarting your phone make it work?

    • If this doesn't help, and this is a voice note, do all voice notes fail, or just ones from specific people?

    • (Note, this force-stopping and restarting is to try to see if there's a problem with resource contention around the underlying MediaCodecs)

Thanks for the fast response!
I already did a little research myself a few minutes ago:
Just tried to save and listen to it using another player (just like I did all the time before ExoPlayer got implemented) and it didn't work either. So I assumed something's seriously wrong with the voice note (during recording). Hence, Playback (ExoPlayer) is obviously not the culprit (that's the good news :smile:)

So I talked to the sender... she said she had trouble recording the voice note:

  • she recorded as usual (it was just a few seconds)
  • after finishing, (according to her) the voice note message "somehow didn't get sent"
  • a little later it seemed to work, but when she clicked on the voice message, the seeking cursor jumped around to approx. 2 minutes (although the message was only a few seconds!) and wouldn't play on her phone either (note: she wasn't affected by the former player issue). So it seems her voice note got corrupted during recording or preparation for sending (that's the bad news).

I asked her to provide a debug log. She's busy now, but will provide it ASAP.

To your questions (but I think they don't matter anymore, since we've ruled out that the player is causing the issue):

  • haven't restarted yet
  • playing other voice notes is still working

But I found some other bug, maybe you can confirm it:

  • start playing a voice note
  • pause it after some seconds
  • turn the screen off and on again
  • continue playback

--> For me, although the seeking cursor continues to move on from the pausing position, playback starts from the beginning

@PiCob

So I talked to the sender... she said she had trouble recording the voice note

Ah interesting. When they get a debug log, feel free to open a new issue with the details.

For me, although the seeking cursor continues to move on from the pausing position, playback starts from the beginning

Can you add your details to #8432, including a log? Thanks!

@greyson-signal the issue is still there right? (the status is closed)
It still had it and also #8620

I'm having this problem regularly and have to reboot.
It should be more specific as to why.
Signal 4.34.8
Android 4.1.2 GT-I9082
https://debuglogs.org/9397efe9ba3c70c4d65a687059eea773616b0c4ce90cc3b0f6113e922d1516f2

Was this page helpful?
0 / 5 - 0 ratings