Tdesktop: Voice notes not playing

Created on 25 Mar 2019  ·  50Comments  ·  Source: telegramdesktop/tdesktop

Steps to reproduce

  1. Click to play a voice note message.

Expected behaviour

Before this version, I'd click to play on a voice note and it would play as expected.

Actual behaviour

The play button toggles to pause and goes back to play again very quickly. It seems like something is broken in the play function. It doesn't play any sound and I have experienced this every many different voice notes. Sometimes I get away of this bug by closing and opening Telegram again, but then the bug is back again.

Configuration

Operating system: Arch Linux x86_64, kernel: 5.0.4, WM: i3

Version of Telegram Desktop: 1.6.2

Used theme: Midnight

Logs:
Insert log.txt here (if necessary)

ps: Love the software, keep it up!

Most helpful comment

I've run over this issue and noticed, that voices recorded from Andoid app are played correctly whereas ones recorded via iOS app cause such problem. Exact versions of iOS clients generating unplayable voice messages are Telegram 5.5.1 (iPhone 6, iOS 12.1.4) and Telegram 5.6.3 (iPhone 7, iOS 12.1.2)

log.txt after trying to play the voice message:

[2019.05.23 14:55:58] Audio Info: recreating audio device and reattaching the tracks
[2019.05.23 14:55:58] Streaming Error: Error in av_read_frame (code: -1094995529, text: Invalid data found when processing input).
[2019.05.23 14:55:59] Audio Info: Closing audio playback device.

I'm using telegram-desktop-1.7.0-1 for Fedora 29. ffmpeg version is 4.0.4-2.

All 50 comments

@gabrielziegler3 Can you share log.txt after reproducing the issue?

Same issue here. I'm using Arch Linux as well (same kernel and same telegram version).

Calling telegram-desktop from the command line and playing a voice note gives me:
[ogg @ 0x7efe30000900] 737 bytes of comment header remain
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
[ogg @ 0x7efe30000900] Packet processing failed: Invalid data found when processing input.

I'll attach my log file
log_08_45.txt

I guess the relevant part is at line 242: Streaming Error: Error in av_read_frame (code: -1094995529, text: Invalid data found when processing input).

@spodernet This means that ffmpeg couldn't read that file. Does it happen with any voice message?

@john-preston Yep, every voice message. Sometimes if I continue to press play a bunch of times it eventually plays, but it happens rarely and not with every voice message. I have the latest version of ffmpeg (4.1.2-1).

For context the issue appeared after the update to 1.6.0.

@spodernet Do you use version from https://desktop.telegram.org?

@john-preston It's from the official Arch Linux repos which is built from this repo with the addition of some patches, the details can be found here. Note that I'm not the maintaner of the package.

@spodernet Does the official build work on your configuration? If so, does it play voice messages?

@john-preston I've yet to test it, I'll report back when I do.

@john-preston Using the binary from https://desktop.telegram.org/ works as expected.

@spodernet Then I'm afraid I won't be able to help you here :(

@john-preston Don't worry; at this point I guess @gabrielziegler3 or me should report it downstream. Thanks anyway :+1:

Yes, indeed using the binary works! Thanks, @john-preston for helping out anyway!

Problem was in 1.6.1 and in 1.6.3 now. In 1.6.2 audio player worked. Audio calls is work.

[ogg @ 0x7f3e74000900] 737 bytes of comment header remain
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
[ogg @ 0x7f3e74000900] Packet processing failed: Invalid data found when processing input

Archlinux

Problem in Archlinux community telegram package. https://aur.archlinux.org/packages/telegram-desktop-bin works fine.

I've opened a bug report downstream: https://bugs.archlinux.org/task/62175

Not quite sure what to do here. We (Arch Linux) use normal ffmpeg 4.1.3.

experiencing the same issue on Fedora 29

  • Telegram Desktop v1.6.7
  • ffmpeg v4.0.4

Telegram was installed from the following source

Source       : telegram-desktop-1.6.7-1.fc29.src.rpm
Repository   : @System
From repo    : rpmfusion-free-updates

and receive similar error messages (when launching from a terminal) as the other users reporting the issue:

[ogg @ 0x7fdae4009580] 737 bytes of comment header remain
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
[ogg @ 0x7fdae4009580] Packet processing failed: Invalid data found when processing input

Possible duplicate of #5762

Any news on this one? Very annoying actually

This problem caused by malformed OGG files received from Telegram servers. Modern ffmpeg versions (4.0 and above) throw warning when trying to play them:

[ffmpeg/demuxer] ogg: Packet processing failed: Invalid data found when processing input
[lavf] error reading packet.
[lavf] EOF reached.

This is not a packaging issue.

I've run over this issue and noticed, that voices recorded from Andoid app are played correctly whereas ones recorded via iOS app cause such problem. Exact versions of iOS clients generating unplayable voice messages are Telegram 5.5.1 (iPhone 6, iOS 12.1.4) and Telegram 5.6.3 (iPhone 7, iOS 12.1.2)

log.txt after trying to play the voice message:

[2019.05.23 14:55:58] Audio Info: recreating audio device and reattaching the tracks
[2019.05.23 14:55:58] Streaming Error: Error in av_read_frame (code: -1094995529, text: Invalid data found when processing input).
[2019.05.23 14:55:59] Audio Info: Closing audio playback device.

I'm using telegram-desktop-1.7.0-1 for Fedora 29. ffmpeg version is 4.0.4-2.

I can confirm what @bandikoot said.

I am having this problem when trying to playback audio recordings sent from an iOS device.

The playback begins but then ends abruptly with the following message:

[ogg @ 0x7f89b8006000] 737 bytes of comment header remain
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
[ogg @ 0x7f89b8006000] Packet processing failed: Invalid data found when processing input

My versions:

  • telegram-desktop-1.6.7-2.fc30.x86_64
  • ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 9 (GCC)

I'm suffering exactly this same issue.

Well, I've seen this link and I did vote for it, thank you @spodernet

Confirmed, the AUR package does work as expected. So I guess this is a packaging issue. Thank you guys, I'll keep checking the bug report for the community package.

So I guess this is a packaging issue

No. When official Telegram Desktop build will switch to ffmpeg 4.0+, it will start suffering from this issue too, because the problem is malformed OGG files (with multiple EOF marks), created by Telegram for iOS client.

So I guess this is a packaging issue

No. When official Telegram Desktop build will switch to ffmpeg 4.0+, it will start suffering from this issue too, because the problem is malformed OGG files (with multiple EOF marks), created by Telegram for iOS client.

Ok, so the point is Arch Linux community packagers are using ffmpeg 4.0+ version, well; then I guess Telegram desktop devs will have to fix the issue upstream if they want switch to ffmpeg 4.0+ version, and we or Arch Linux community packagers cannot do anything neither. This is an upstream issue. At this moment the only workaround is to use the AUR package which is packaging the precompiled binary from Telegram devs.

At this moment the only workaround is to use the AUR package which is packaging the precompiled binary from Telegram devs.

Do not use official blob, because it bundled with very outdated patched static libraries from Ubuntu. Use Flatpak version instead.

At this moment the only workaround is to use the AUR package which is packaging the precompiled binary from Telegram devs.

Do not use official blob, because it bundled with very outdated patched static libraries from Ubuntu. Use Flatpak version instead.

I will try cause current Telegram packages are crashing eventually, but I don't like mix different package managers.

@xvitaly

Maybe this is a bit out of this issue, but you see?

   wyre   ~                                           1001  20:34:11  
  flatpak install telegram
Looking for matches…
Remotes found with refs similar to ‘telegram’:

   1) ‘flathub’ (system)
   2) ‘flathub’ (user)

Which do you want to use (0 to abort)? [0-2]: 1
Found ref ‘app/org.telegram.desktop/x86_64/stable’ in remote ‘flathub’ (system).
Use this ref? [Y/n]: y
Required runtime for org.telegram.desktop/x86_64/stable (runtime/org.kde.Platform/x86_64/5.12) found in remote flathub
Do you want to install it? [Y/n]: y

org.telegram.desktop permissions:
        ID                                                       Arch               Branch             Remote              Descarga
 1. [✓] org.kde.Platform                                         x86_64             5.12               flathub             406.0 MB / 422.2 MB
 2. [✓] org.freedesktop.Platform.GL.nvidia-430-14                x86_64             1.4                flathub              70.6 MB / 70.6 MB
 3. [✓] org.freedesktop.Platform.html5-codecs                    x86_64             18.08              flathub               2.8 MB / 2.9 MB
 4. [✓] org.gtk.Gtk3theme.Adwaita-dark                           x86_64             3.22               flathub               2.7 kB / 1.5 kB
 5. [✓] org.kde.PlatformTheme.QGnomePlatform.Sources             x86_64             5.12               flathub              24.8 kB / 23.6 kB
 6. [✓] org.kde.PlatformTheme.QGnomePlatform                     x86_64             5.12               flathub             138.8 kB / 137.8 kB
 7. [✓] org.kde.Platform.Locale                                  x86_64             5.12               flathub               4.2 MB / 333.9 MB
 8. [✓] org.telegram.desktop                                     x86_64             stable             flathub              26.8 MB / 27.0 MB

Installation complete.

Why is flatpak forcing me to install again things related with my video driver? org.freedesktop.Platform.GL.nvidia-430-14 I've already installed my driver using pacman and dkms

Why is flatpak forcing me to install again things related with my video driver?

NVIDIA runtime required, because ffmpeg compiled with H.264 hardware acceleration (VDPAU) support.

i have also determined that the issue is voice recordings from ios devices. i get this error:
image

and i see this in the mediainfo for the voice recordings from different operating systems:

code block

Complete name                            : /home/qwerty/voice/android.ogg
Format                                   : Ogg
File size                                : 4.55 KiB
Duration                                 : 1 s 679 ms
Overall bit rate                         : 22.2 kb/s

Audio
ID                                       : 1442368574 (0x55F8CC3E)
Format                                   : Opus
Duration                                 : 1 s 679 ms
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 16.0 kHz
Compression mode                         : Lossy
Writing library                          : libopus unknown-fixed

==================================================

General
Complete name                            : /home/qwerty/voice/iphone.ogg
Format                                   : Ogg
File size                                : 6.94 KiB
Duration                                 : 3 s 247 ms
Overall bit rate                         : 17.5 kb/s

Audio
ID                                       : 3656741735 (0xD9F57367)
Format                                   : Opus
Duration                                 : 3 s 247 ms
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 16.0 kHz
Compression mode                         : Lossy
Writing library                          : libopus 1.2-alpha

==================================================

General
Complete name                            : /home/qwerty/voice/iphone2.ogg
Format                                   : Ogg
File size                                : 6.98 KiB
Duration                                 : 3 s 307 ms
Overall bit rate                         : 17.3 kb/s

Audio
ID                                       : 2941435092 (0xAF52BCD4)
Format                                   : Opus
Duration                                 : 3 s 307 ms
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 16.0 kHz
Compression mode                         : Lossy
Writing library                          : libopus 1.3

==================================================

General
Complete name                            : /home/qwerty/voice/iphone3.ogg
Format                                   : Ogg
File size                                : 12.6 KiB
Duration                                 : 7 s 87 ms
Overall bit rate                         : 14.6 kb/s

Audio
ID                                       : 3774617935 (0xE0FC194F)
Format                                   : Opus
Duration                                 : 7 s 87 ms
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 16.0 kHz
Compression mode                         : Lossy
Writing library                          : libopus 1.3

==================================================

General
Complete name                            : /home/qwerty/voice/tdesktop-linux.ogg
Format                                   : Ogg
File size                                : 8.40 KiB
Duration                                 : 1 s 467 ms
Overall bit rate                         : 46.9 kb/s
Writing application                      : Lavf58.20.100

Audio
ID                                       : 3614457154 (0xD7703D42)
Format                                   : Opus
Duration                                 : 1 s 467 ms
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 48.0 kHz
Compression mode                         : Lossy
Writing library                          : Lavf58.20.100

==================================================

General
Complete name                            : /home/qwerty/voice/tdesktop-windows.ogg
Format                                   : Ogg
File size                                : 6.67 KiB
Duration                                 : 1 s 347 ms
Overall bit rate                         : 40.6 kb/s
Writing application                      : Lavf57.83.100

Audio
ID                                       : 988470360 (0x3AEADC58)
Format                                   : Opus
Duration                                 : 1 s 347 ms
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 48.0 kHz
Compression mode                         : Lossy
Writing library                          : Lavf57.83.100

5481

I think that's different

Same problem
fedora 30 workstation, ffmpeg version 4.1.3, Telegram version 1.7.7
I want to add that on my Mobile device : Android 7.2 (Nougat) with Telegram v5.6.1 the audio messages from iOS works just fine.

Exact same issue.
Version: 1.7.10
OS: Manjaro

Same issue here in Fedora Workstation 30, ffmpeg 4.1.4, Telegram 1.7.14.
I will try the flatpak version.

iOS issue has been resolved. I've checked voices' playback, it's totally ok in Telegram Desktop.

Nope! Still broken here on manjaro, tdesktop version 1.8.1

Nope! Still broken here on manjaro, tdesktop version 1.8.1

All previous voices, recorded by old versions of Telegram for iOS, will stay broken forever.

That makes no sense...?

Isn't the problem the codecs that tdesktop for Linux is using, not the voice notes themselves?

Isn't the problem the codecs that tdesktop for Linux is using, not the voice notes themselves?

No. The problem is malformed OGG files (with multiple EOF marks), created by Telegram for iOS. Such files cannot be played by modern ffmpeg/mpv versions.

Ah, I see.

Thanks

As I've said in there seems to be a regression for me in Arch Linux. But this issue has appeared again. For both, Flatpak and official telegram-desktop package. Here a log when I play an audio message:

[ogg @ 0x7f68b8005f40] 737 bytes of comment header remain
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
[ogg @ 0x7f68b8005f40] Packet processing failed: Invalid data found when processing input

Well, It seems to be again a downstream issue, because AUR package works as expected.

@WyRe You will never play malformed OGG files in Telegram Desktop, created by broken iOS versions.

@WyRe You will never play malformed OGG files in Telegram Desktop, created by broken iOS versions.

@xvitaly then why the AUR Package does?

@WyRe You can play them by version from the official website. I hope :)

then why the AUR Package does?

Because this AUR contains Telegram Desktop from website with statically linked old version of ffmpeg library.

then why the AUR Package does?

Because this AUR contains Telegram Desktop from website with statically linked old version of ffmpeg library.

@xvitaly Do you mean the official release, because that AUR package is downloading the official release from this repo, as you can see in its build script. The official Arch Linux package, however, is building the package from sources, also from this repo, but building the sources directly.

Right; I did not realised about your edit, thanks. :+1:

Anyway ... I guess it must be planned to modify the iOS telegram version which is producing those malformed audio files, am I right?

Do you mean the official release, because that AUR package is downloading the official release from this repo, as you can see in its build script.

telegram-desktop-bin - version from official website with bundled Ubuntu 14.04 LTS static libraries.
telegram-desktop - version, built from sources.

Anyway ... I guess it must be planned to modify the iOS telegram version which is producing those malformed audio files, am I right?

Already fixed. Now it create well working OGG files, but previous malformed still cannot be played.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DRSDavidSoft picture DRSDavidSoft  ·  3Comments

Liudvikas picture Liudvikas  ·  3Comments

hosseinab picture hosseinab  ·  3Comments

FunctionalHacker picture FunctionalHacker  ·  3Comments

LeonTheOriginal picture LeonTheOriginal  ·  3Comments