MPEG-1 Layer3 (mp3) not supported (after v4.1>v4.2 upgrade)

  • What kind of phone do you have?
  • does it support aarch64 ?

(Mine does not.)
I think the problem is with the libmpg123 library, since the programmer upgraded to aarch64 .
https://openrepos.net/content/lpra7/libmpg123-1291

We should somehow install the 1.28.2 version, but I don’t know how to do that exactly.
My guess is that:
pkcon update --allow-downgrade libmpg123
would install 1 version earlier >> and that is 1.29.0 .

If I uninstall libmpg123 from Storeman, and reboot my phone, it is still showing as if it is installed.
If I try to uninstall again > Error:
The libgrypt.so.11 needed by gstreamer1.0-plugins-bad-1.4.5+git10-2armv7hl dependency can not be installed.

How do I install a specific version?

Fatal error: There is no update candidate for libmpg123-1.29.1-2.0.0.armv7hl

0.) disabled SDL2_mixer
… funny thing is: it was installed AFTER I’ve realized MP3 playback is not working.

1.) Tried this:
pkcon install --allow-downgrade libmpg123-1.28.2-2.0.0
Package not found: libmpg123-1.28.2-2.0.0
Command failed: This tool could not find any available package: No packages were found

2.) So I directly downloaded via browser the .rpm file and successfully installed it.

Strange think is, that 0-1.25.10 version is always getting reinstalled.

pkcon search libmpg123
...
Installed       SDL2_mixer-2.0.4+git2-1.6.1.jolla.armv7hl (installed)           Simple DirectMedia Layer - Sample Mixer Library
Installed       libmpg123-1.28.2-2.0.0.armv7hl (installed)                      MPEG audio decoder library
Installed       libmpg123-0-1.25.10-1.armv7hl (installed)                       MPEG audio decoder library

3.) pkcon refresh

Result:
Still not playing any MP3 :-1:

It is strange that I have on same phone with 4.2 different version of libmpg123:

pkcon search libmpg123

Installed SDL2_mixer-2.0.4+git2-1.6.1.jolla.armv7hl (installed) Simple DirectMedia Layer - Sample Mixer Library
Installed |libmpg123-1.25.11-1.6.1.jolla.armv7hl (installed) |MPEG audio decoder library|
Available |libmpg123-1.25.10-1.6.2.jolla.armv7hl (openrepos-kravich) |libmpg123 library|
Available |libmpg123-1.25.8-10.2.1.jolla.armv7hl (openrepos-kravich) |libmpg123 library|

While I appreciate @nephros’ steps 1 to 4 as the right thing to do, I do not concur with the way step 5 is phrased:

IMO that should be:
5. Do not (re-)enable repositories with RPMs which replace system packages, unless the repository maintainer explicitly stated that this is fine.

Differences:

  • These repos must be left out in step 4, otherwise the issue will reappear with the next SailfishOS upgrade.
  • A few maintainers at Openrepos (who offer RPMs which replace system packages) handle that responsibly: They use a special purpose repository for offering these “replacing” packages. Mind that all packages by a user are in the same repository, so these special purpose repositories must be created by special purpose user names.
    The repositories of those who do not use a special purpose repositories and user names for this (lachs0r, lpr_A7, nieldk, kravich etc.) should be disabled at all times and must be disabled for SailfishOS upgrades.

the problem is not the 1.29.1 version but the ancient libmpg123-0 package

  1. try pkcon remove libmpg123-0

now you have to update your libmpg123
2) pkcon update libmpg123 (because you have to install libmpg123 again to get the files again the removing of libmpg123-0 deleted)

1 Like

Thank you very much for helping!

1. successfully removed old repo ! :slight_smile:


2.1 could not directly upgrade new one, because :
Fatal error: This request will break your system!
2.2 So I’ve removed it with Storeman
2.3 installed 1.28 directly from RPM
2.4 rebooted phone
2.5 Storeman updated it to latest 1.29.1
2.6 rebooted phone


  1. Everything seems to be fine now:
[root@Sailfish nemo]# pkcon search libmpg123
Installed       SDL2_mixer-2.0.4+git2-1.6.1.jolla.armv7hl (installed)           Simple DirectMedia Layer - Sample Mixer Library
Installed       libmpg123-1.29.1-2.0.0.armv7hl (installed)                      MPEG audio decoder library

4. except that my phone STILL CAN NOT PLAY MP3.

same error popping up on top: Unsupported codec: MPEG-1 Layer3 (MP3) decoder
:frowning:

I’ve asked others, who has the same phone (Xiaomi Redmi 5 Plus) with working repo and they all say:
libmpg123-1.25.11-1.6.1.jolla.armv7hl (jolla)

I’ve tried the above methods to install that, but:

  1. can not remove the current one, only disable
  2. can not install the jolla’s one.
... disabled repo
[root@Sailfish nemo]# pkcon refresh
...
Finished


[root@Sailfish nemo]# pkcon remove libmpg123
Fatal error: This request will break your system!

[root@Sailfish nemo]# pkcon update --allow-downgrade libmpg123-1.25.11
Resolving                                                   [                             ] (0%)  Package not found: libmpg123-1.25.11
Command failed: This tool could not find the package: No packages were found


[root@Sailfish nemo]# pkcon update --allow-downgrade libmpg123-1.25.11-1.6.1.jolla.armv7hl
Resolving                                                   [                             ] (0%)  Package not found: libmpg123-1.25.11-1.6.1.jolla.armv7hl
Command failed: This tool could not find the package: No packages were found


[root@Sailfish nemo]# pkcon update --allow-downgrade libmpg123
Resolving
Finished
Fatal error: There is no update candidate for libmpg123-1.29.1-2.0.0.armv7hl


[root@Sailfish nemo]# pkcon search libmpg123
Installed       SDL2_mixer-2.0.4+git2-1.6.1.jolla.armv7hl (installed)           Simple DirectMedia Layer - Sample Mixer Library
Available       SDL2_mixer-devel-2.0.4+git2-1.6.1.jolla.armv7hl (jolla)         Simple DirectMedia Layer - Sampler Mixer Library (Development)
Installed       libmpg123-1.29.1-2.0.0.armv7hl (installed)                      MPEG audio decoder library
Available       libmpg123-1.25.11-1.6.1.jolla.armv7hl (jolla)                   MPEG audio decoder library

How do I install back the original (jolla) repo?

Where can I download this RPM directly?
libmpg123-1.25.11-1.6.1.jolla.armv7hl (jolla)

  1. Successfully downloaded jolla’s 1.25.11 version:
    pkcon download /home/nemo/ libmpg123

  2. Installed from file-manager

  3. pkcon refresh

  4. Rebooted phone

STILL CAN NOT PLAY MP3

:frowning:

well, the mpg123-version doesn’t matter pretty much in terms of “Does it work in principle”

if it is installed, it works no matter if 1.25, 1.28 or 1.29

so the next thing is to go one step further: gstreamer1.0
which version of gstreamer1.0-plugins-bad is installed for example?

Thanks for the help :slight_smile:
]# pkcon search gstreamer

farstream-0.2.9+git1-1.4.2.jolla.armv7hl (installed)  Libraries for video conferencing applications
gstreamer1.0-1.18.5-3.armv7hl (installed) GStreamer streaming media framework runtime
gstreamer1.0-droid-0.20210518.1-1.armv7hl (installed) GStreamer droid plug-in contains elements using the Android HAL
gstreamer1.0-droid-tools-0.20210518.1-1.armv7hl (installed)     Tools for gst-droid
gstreamer1.0-libav-1.18.4+git1-1.6.1.jolla.armv7hl (installed)  GStreamer Streaming-media framework plug-in using libav (FFmpeg).
gstreamer1.0-plugins-bad-1.18.5-3.armv7hl (installed)           GStreamer streaming media framework "bad" plug-ins
nemo-gstreamer1.0-interfaces-0.20200911.0-1.3.2.jolla.armv7hl (installed)       gstreamer interface used for video rendering
nemo-qtmultimedia-plugins-gstvideotexturebackend-0.1.2-1.5.1.jolla.armv7hl (installed)      QtMultimedia QML VideoOutput backend for GStreamer NemoVideoTexture interface
qt5-qtmultimedia-gsttools-5.6.2+git26.1-1.11.1.jolla.armv7hl (installed)        Qt Multimedia - Utility library for GStreamer media services
qt5-qtmultimedia-plugin-mediaservice-gstcamerabin-5.6.2+git26.1-1.11.1.jolla.armv7hl (installed)    Qt Multimedia - GStreamer camerabin video capture media service
qt5-qtmultimedia-plugin-mediaservice-gstmediacapture-5.6.2+git26.1-1.11.1.jolla.armv7hl (installed) Qt Multimedia - GStreamer video4linux2 video capture media service
qt5-qtmultimedia-plugin-mediaservice-gstmediaplayer-5.6.2+git26.1-1.11.1.jolla.armv7hl (installed)  Qt Multimedia - GStreamer playback media service
telepathy-qt5-farstream-0.9.8+git2-1.7.1.jolla.armv7hl (installed)      Qt 5 Telepathy/Farstream integration

So it’s:

gstreamer1.0-plugins-bad-1.18.5-3.armv7hl

I’m NOT using any Android on my SFOS so those “…-droid-…” things are maybe unnecessary?

you need the droid-packages for mp4/aac/camera support, they are neccesary. But it seem you lack gstreamer1.0-plugins-base and gstreamer1.0-plugins-good

2 Likes

I was very happy to read about this, because I hoped “this could be it” !
Sadly it seems I just missed to copy those to the list above, from a 200+ “available / installed” lines.
So they are both installed:

[root@Sailfish nemo]# pkcon install  gstreamer1.0-plugins-base
Fatal error: gstreamer1.0-plugins-base-1.18.5-3.armv7hl is already installed

[root@Sailfish nemo]# pkcon install  gstreamer1.0-plugins-good
Fatal error: gstreamer1.0-plugins-good-1.18.5-3.armv7hl is already installed

Any other idea what to check?
Thanks in forward!

yes, I would suggest installing the mpg123 program (should be exactly the same version as libmpg123 installed) Then you can try to play a mp3 file with it: mpg123 [file.mp3]

I’m trying to find out, how to do that?

  • Jolla’s store does not show any mpg123 for search
  • Storeman shows only yours (1.29.1)

not in the store, it is in the normal jolla repo like libmpg123

ok, success.

Here is the result:

[root@Sailfish nemo]# mpg123 /home/nemo/Music/bird_SMS.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.25.10; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes
[src/libout123/modules/oss.c:174] error: Can't open default sound device!
[src/libout123/libout123.c:455] error: Found no driver out of [pulse,oss] working with device <default>.
main: [src/mpg123.c:309] error: out123 error 3: failure loading driver module

The strange thing is:

  • it can play jolla’s default ringtones
  • if I install an other sound-player, it can play MP3s

Also I can not play any videos.

that seems to be the problem, pulseaudio does not seem to work correctly