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

Did you try the sailfishos-porters on IRC? This sounds like an issue that not so many here will have experience? I’m asking now: irc server: OFTC /join #sailfishos-porters

Can you try to remove libmpg123 1.29.1 | OpenRepos.net — Community Repository System first?

  1. I’ve removed the 1.29.1 - 2.0.0.0 (with Storeman APP).
  2. Than I’ve restarted my phone.

But still no MP3 playback.

I can still see in the installed-list a:
libmpg123-0 1.25.10.1
Should I remove that too?

What should I install instead?
Thanks!

What should be normally installed?

  • libmpg123 or
  • mpg123 or
  • both ?

The official library package distributed by Jolla is libmpg123. mpg123 is the program mpg123 which is a cli tool which plays audio files.

What I would do is:

  1. disable all third party repos (with ssu dr)
  2. pkcon refresh
  3. pkcon install --allow-downgrade libmpg123
  4. re-enable the repos (with ssu er)
  5. don’t enable repos which replace system packages unless you absolutely must.
1 Like

Hello, i have the same problem, I have made an upgrade from 4.2 - 4.3
I had had a problem with libraries installed by third programs during the upgrade.

I used these commands to reinstall the original packages from this link.

https://forum.sailfishos.org/t/how-to-reinstall-original-package-version/3223/3

devel-su
pkcon refresh
version --dup

Then I used the official instruction to install the upgrade via the terminal.

Updating at the command line

After that everything worked, but I can’t get MP3 to work. I have already reinstalled Storeman, downloaded libmpg123 over browser and reinstalled it.

“ssu dr” = came the answer too few argument and the same with “ssu er”

Does anyone have any other tips?

ssu er/dr want the repo name you want to disable/enable as an argument.

so:

ssu dr openrepos-foo

ssu lr will show you what you have enabled.

You can also disable repos in Storeman if you find that easier.

1 Like
  • 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?