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

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

OK, but How do I fix it?
What else should I check?
How to find out what’s “default sound device” ?

[root@Sailfish nemo]# pkcon search pulseaudio
Searching by details
Starting
Refreshing software list
Querying
Finished
Available       alsa-plugins-pulseaudio-1.2.2+git1-1.6.1.jolla.armv7hl (jolla)  Alsa to PulseAudio backend
Available       alsa-plugins-pulseaudio-1.2.2+git1-1.2.1.jolla.armv7hl (openrepos-lpr)  Alsa to PulseAudio backend
Available       cava-0.6.1-1.armv7hl (openrepos-Kabouik)                        Console-based Audio Visualizer for Alsa
Available       cmus-2.8.0.24-2.armv7hl (openrepos-Kabouik)                     Small, fast and powerful console music player for Unix-Like operating systems
Available       cmus-2.8.0.24-1.armv7hl (openrepos-Kabouik)                     Small, fast and powerful console music player for Unix-Like operating systems
Installed       droid-config-vince-pulseaudio-settings-1-202109220609.armv7hl (installed)       PulseAudio settings for vince hw
Installed       pulseaudio-14.2+git4-1.8.1.jolla.armv7hl (installed)            General purpose sound server
Available       pulseaudio-debuginfo-14.2+git4-1.8.1.jolla.armv7hl (jolla)      Debug information for package pulseaudio
Available       pulseaudio-debugsource-14.2+git4-1.8.1.jolla.armv7hl (jolla)    Debug sources for package pulseaudio
Available       pulseaudio-devel-14.2+git4-1.8.1.jolla.armv7hl (jolla)          PulseAudio Development headers and libraries
Available       pulseaudio-doc-14.2+git4-1.8.1.jolla.armv7hl (jolla)            Documentation for pulseaudio
Installed       pulseaudio-module-keepalive-1.0.1-1.6.1.jolla.armv7hl (installed)       PulseAudio keepalive module
Available       pulseaudio-module-keepalive-debuginfo-1.0.1-1.6.1.jolla.armv7hl (jolla) Debug information for package pulseaudio-module-keepalive
Available       pulseaudio-module-keepalive-debugsource-1.0.1-1.6.1.jolla.armv7hl (jolla)       Debug sources for package pulseaudio-module-keepalive
Available       pulseaudio-modules-bluez4-1.1-1.5.1.jolla.armv7hl (jolla)       Legacy BlueZ4 modules for PulseAudio
Available       pulseaudio-modules-bluez4-debuginfo-1.1-1.5.1.jolla.armv7hl (jolla)     Debug information for package pulseaudio-modules-bluez4
Available       pulseaudio-modules-bluez4-debugsource-1.1-1.5.1.jolla.armv7hl (jolla)   Debug sources for package pulseaudio-modules-bluez4
Installed       pulseaudio-modules-droid-14.2.92-1.armv7hl (installed)          PulseAudio Droid HAL modules
Installed       pulseaudio-modules-droid-common-14.2.92-1.armv7hl (installed)   Common libs for the PulseAudio droid modules
Available       pulseaudio-modules-droid-devel-14.2.92-1.armv7hl (adaptation0)  Development files for PulseAudio droid modules
Available       pulseaudio-modules-droid-devel-14.2.92-1.armv7hl (sfos-test)    Development files for PulseAudio droid modules
Installed       pulseaudio-modules-droid-hidl-1.3.1-1.armv7hl (installed)       PulseAudio Droid HIDL module
Installed       pulseaudio-modules-nemo-common-14.2.30-1.5.1.jolla.armv7hl (installed)  Common libs for the Nemo PulseAudio modules
Available       pulseaudio-modules-nemo-debuginfo-14.2.30-1.5.1.jolla.armv7hl (jolla)   Debug information for package pulseaudio-modules-nemo
Available       pulseaudio-modules-nemo-debugsource-14.2.30-1.5.1.jolla.armv7hl (jolla) Debug sources for package pulseaudio-modules-nemo
Available       pulseaudio-modules-nemo-devel-14.2.30-1.5.1.jolla.armv7hl (jolla)       Development files for modules.
Installed       pulseaudio-modules-nemo-mainvolume-14.2.30-1.5.1.jolla.armv7hl (installed)      Mainvolume module for PulseAudio
Available       pulseaudio-modules-nemo-music-14.2.30-1.5.1.jolla.armv7hl (jolla)       Music module for PulseAudio
Installed       pulseaudio-modules-nemo-parameters-14.2.30-1.5.1.jolla.armv7hl (installed)      Algorithm parameter manager module for PulseAudio
Available       pulseaudio-modules-nemo-record-14.2.30-1.5.1.jolla.armv7hl (jolla)      Cmtspeech module for PulseAudio
Available       pulseaudio-modules-nemo-sidetone-14.2.30-1.5.1.jolla.armv7hl (jolla)    Sidetone module for PulseAudio
Installed       pulseaudio-modules-nemo-stream-restore-14.2.30-1.5.1.jolla.armv7hl (installed)  Modified version of the original stream-restore module for PulseAudio
Available       pulseaudio-modules-nemo-test-14.2.30-1.5.1.jolla.armv7hl (jolla)        Test module for PulseAudio
Available       pulseaudio-modules-nemo-voice-14.2.30-1.5.1.jolla.armv7hl (jolla)       Voice module for PulseAudio
Installed       pulseaudio-policy-enforcement-14.2.44-1.5.1.jolla.armv7hl (installed)   Pulseaudio module for enforcing policy decisions in the audio domain
Available       pulseaudio-policy-enforcement-debuginfo-14.2.44-1.5.1.jolla.armv7hl (jolla)     Debug information for package pulseaudio-policy-enforcement
Available       pulseaudio-policy-enforcement-debugsource-14.2.44-1.5.1.jolla.armv7hl (jolla)   Debug sources for package pulseaudio-policy-enforcement
Installed       qt5-qtmultimedia-plugin-audio-pulseaudio-5.6.2+git26.1-1.11.1.jolla.armv7hl (installed) Qt Multimedia - Pulse Audio plugin

first: try gst-inspect-1.0 pulseaudio

default audio device is pulse. In my build of mpg123 and in jollas’ too

[root@Sailfish nemo]# gst-inspect-1.0 pulseaudio
bash: gst-inspect-1.0: not found

then you need gstreamer1.0-tools or gstreamer1.0-plugins-base-apps . I don’t know exactly now in which… (and you should run those tools gst-inspect-1.0, mpg123 … not as root)

Thank you all for the hints! :grinning: I hit that bug in SFOS 4.3 at Jolla C and managed to fix it.

The solution that worked was to remove all gstreamer1.18.5- (obviously broken) packages with zypper and install gstreamer1.18.4-*.*
All fiddling with mpg123 and libmpg123 was useless unntil I downgraded gstreamer. The “version --dup” command does nothing in this case. The “gst-inspect-1.0 pulseaudio” shows the root of this problem.

BEFORE:

[root@Sailfish nemo]# gst-inspect-1.0 pulseaudio

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:58.017: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstfaac.so': libfaac.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:58.027: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstde265.so': libde265.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:58.248: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstmpg123.so': /usr/lib/gstreamer-1.0/libgstmpg123.so: undefined symbol: mpg123_param2

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:58.278: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstfdkaac.so': libfdk-aac.so.2: cannot open shared object file: No such file or directory

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:58.538: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstx265.so': libx265.so.199: cannot open shared object file: No such file or directory

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:59.837: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstmms.so': libmms.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:59.842: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstmplex.so': libmjpegutils-2.1.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:9832): GStreamer-WARNING **: 13:11:59.972: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstmpeg2enc.so': libmjpegutils-2.1.so.0: cannot open shared object file: No such file or directory
Plugin Details:
  Name                     pulseaudio
  Description              PulseAudio plugin library
  Filename                 /usr/lib/gstreamer-1.0/libgstpulseaudio.so
  Version                  1.18.5
  License                  LGPL
  Source module            gst-plugins-good
  Source release date      2021-09-08
  Binary package           SailfishOS GStreamer package plugins (good set) for JollaPhone and X and XA2
  Origin URL               https://openrepos.net/content/lpr/gstreamer-1185-jollaphone-x-xa2

  pulsedeviceprovider: PulseAudio Device Provider
  pulsesrc: PulseAudio Audio Source
  pulsesink: PulseAudio Audio Sink

  3 features:
  +-- 2 elements
  +-- 1 device providers

AFTER:

# gst-inspect-1.0 pulseaudio
Plugin Details:
  Name                     pulseaudio
  Description              PulseAudio plugin library
  Filename                 /usr/lib/gstreamer-1.0/libgstpulseaudio.so
  Version                  1.18.4
  License                  LGPL
  Source module            gst-plugins-good
  Source release date      2021-03-15
  Binary package           SailfishOS GStreamer package plugins (good set)
  Origin URL               http://sailfishos.org/

  pulsedeviceprovider: PulseAudio Device Provider
  pulsesrc: PulseAudio Audio Source
  pulsesink: PulseAudio Audio Sink

  3 features:
  +-- 2 elements
  +-- 1 device providers

The exact commands I used were:

# zypper refresh
# zypper install gstreamer1.0-tools
    (choose 1 to downgrade of gstreamer1.0-1.18.5-3.armv7hl to gstreamer1.0-1.18.4+git1-1.5.3.jolla.armv7hl )
# zypper install  gstreamer1.0-plugins-base-apps
    (choose 1 to downgrade of gstreamer1.0-plugins-base-1.18.5-3.armv7hl to gstreamer1.0-plugins-base-1.18.4+git2-1.6.1.jolla.armv7hl)
# gst-inspect-1.0 pulseaudio  (to see that mp3 plugin is not available)
# zypper install --oldpackage  gstreamer1.0-plugins-good-1.18.4+git1-1.5.1.jolla.armv7hl
# zypper install --oldpackage  gstreamer1.0-plugins-bad-1.18.4+git1-1.5.1.jolla.armv7hl
# zypper install gstreamer1.0-droid-tools (optional, I think)
# gst-inspect-1.0 pulseaudio  (now all should be fine)
# reboot
1 Like

The /usr/lib/gstreamer-1.0/libgstmpg123.so: undefined symbol: mpg123_param2 problem might be a fixable repo dependency problem, but it seems to be safer to ignore the repos with gstreamer-1.18.5 for now. :face_with_monocle:
What are the benefits of installing gstreamer-1.18.5 from openrepos? What apps could pull it? I don’t remember installing it directly.

What Type of phone do you have exactly?

Jolla C.

All Xperias lack replaceable battery, which means that they will freeze and die every winter and I cannot use them while touring away from the electric grid.

Carrying a slightly higher version number (to satisfy versionitis, which is futile, because soon there will be a newer version :wink:).

What apps could pull it?

E.g., having one of lpr’s repositories at Openrepos (lpr, lpr_A7, lpr_next; for gstreamer the lpr one) enabled during a (former) SailfishOS upgrade (as denoted before), but there are some other actions (installing something with a dependency on gstreamer), which may trigger that, too.

Solved: Xiaomi Redmi 5 Plus :

ssu dr openrepos_lpr   
  //... this will disable the lpr package
 
zypper refresh

zypper install gstreamer1.0-tools  
  // (choose 1 to downgrade of gstreamer1.0-1.18.5-3.armv7hl to gstreamer1.0-1.18.4+git1-1.5.3.jolla.armv7hl )

zypper install  gstreamer1.0-plugins-base-apps  
  // (choose 1 to downgrade of gstreamer1.0-plugins-base-1.18.5-3.armv7hl to gstreamer1.0-plugins-base-1.18.4+git2-1.6.1.jolla.armv7hl)

gst-inspect-1.0 pulseaudio  
  // (to see that mp3 plugin is not available)

zypper install --oldpackage gstreamer1.0-plugins-good-1.18.4+git1-1.6.1.jolla.armv7hl
zypper install --oldpackage  gstreamer1.0-plugins-bad-1.18.4+git1-1.4.1.jolla.armv7hl

reboot

:slight_smile:

to check the available packages use:

pkcon search gstreamer

what are the benefits?
If you want to watch HEVC on a Jolla1, here you go.

If you want to watch AV1 video on a XA2, also.

Want to hear a mms:// stream, that is what you need.

Or hear AAC audio without a device with gstreamer1.0-droid

No versionitis…

1 Like

Thanks for explanation! These are good reasons. But MP3 is 70% of web radio, podcasts, most of lossy coded portable audio files. We cannot lose it. Please, make the dependency to (lib)mpg123 more precise, so that package managers would automatically install a version compatible with your gstreamer build.

There are several gstreamer packages in OpenRepos and it is hard to understand the ups and downs of installing them for a common man.

this was not intented :frowning:
should be fixed now with 1.18.5-4 releases (+other fixes in changelog)
works now with mpg123>=1.25.10

To me that is exactly that: Versionitis!
New versions will have new features, fixed bugs and new bugs.
Always (no matter how the details vary)!

It is Jolla’s job to offer new versions of the packages their Linux distribution (SailfishOS) is comprised of (per new SailfishOS releases).
Plus SailfishOS (especially its update mechanisms) is quite fragile, hence one better avoids exchanging extant packages from Jolla by third party ones. Installing third party RPMs, which replace Jolla’s original RPMs, regularly results in the upgrade horrors this thread depicts so nicely. And this will continue until Jolla offers the mechanisms modern Linux distributions provide to handle this: “Repository pinning (vendor repos)” and / or at least “repository priorities” (currently SailfishOS’ SSU knows only prio “99”).

2 Likes

no, you can have all those features with my gstreamer1.16 builds but not with jollas 1.18 ones, it’s called build options…

This update time I was also affected by update problems , the half of the apps didn’t work and by trying to repair it went only worse.

To end this update limbo, I took the SD-Card with all my data out of the phone (and also the SIM-Card) and reflashed it.

Now it runs really fine except few apps (unfortunately Advanced Cam, too).