Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 935146 - media-sound/elisa:6[-vlc] w/ dev-qt/qtmultimedia:6[ffmpeg] is broken(?)
Summary: media-sound/elisa:6[-vlc] w/ dev-qt/qtmultimedia:6[ffmpeg] is broken(?)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-29 16:30 UTC by Tobias Leupold
Modified: 2024-07-02 13:37 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Leupold 2024-06-29 16:30:39 UTC
Hi all,

after updating my desktop to KDE/KF/Plasma 6, I noticed that Elisa would not play anything anymore.

The console output was something like:

    [opus @ 0x55f9ca4e5ec0] Could not update timestamps for skipped samples.
    "QAudioSink: snd_pcm_hw_params_set_format: err = -22"
    [ogg @ 0x7feb3000cbc0] 4979 bytes of comment header remain
    "QAudioSink: snd_pcm_hw_params_set_format: err = -22"
    [mp3 @ 0x7feb24004280] Estimating duration from bitrate, this may be inaccurate
    "QAudioSink: snd_pcm_hw_params_set_format: err = -22"

Playing around a bit, I noticed that the KF5 version of Elisa sets the "vlc" USE flag by default. This is not the case for the current KF6 version (media-sound/elisa-24.05.1:6::gentoo).

After rebuilding Elisa with USE="vlc" being set, it plays music again.

So I suppose it simply lacks a backend? Maybe, "vlc" should be enabled for the KF6 version as well?

Cheers, Tobias
Comment 1 Andreas Sturmlechner gentoo-dev 2024-07-01 16:59:21 UTC
If USE=-vlc does not work that would indicate a problem with dev-qt/qtmultimedia:6, no?

> local use flags (searching: vlc)
> ************************************************************
> [+ C    ] vlc
>     media-sound/elisa: Use media-video/vlc for output rather than dev-qt/qtmultimedia

See also elisa ebuild:
> 	vlc? ( media-video/vlc:= )
> 	!vlc? ( >=dev-qt/qtmultimedia-${QTMIN}:6 )
Comment 2 Andreas Sturmlechner gentoo-dev 2024-07-01 17:05:19 UTC
I've just tested this myself and elisa:6[-vlc] with dev-qt/qtmultimedia:6[ffmpeg] (in my case) is playing audio just fine.
Comment 3 Tobias Leupold 2024-07-01 18:30:13 UTC
I just tried again. I have dev-qt/qtmultimedia:6[ffmpeg] installed. elisa:6[-vlc] doesn't play anything, yielding the errors posted above. elisa:6[vlc] works.

How can I help to debug this?
Comment 4 Andreas Sturmlechner gentoo-dev 2024-07-01 18:32:51 UTC
Good question. Please provide emerge --info for starters.

- full dev-qt/qtmultimedia:6 USE flags?
- media-video/ffmpeg version, USE flags?
Comment 5 Tobias Leupold 2024-07-01 18:44:19 UTC
Here you are (I don't think I messed with the respective USE flags, should all be default):


# emerge --info
Portage 3.0.63 (python 3.12.3-final-0, default/linux/amd64/23.0/desktop/plasma, gcc-13, glibc-2.39-r6, 6.6.32-gentoo-dist x86_64)
=================================================================
System uname: Linux-6.6.32-gentoo-dist-x86_64-AMD_Ryzen_5_3600_6-Core_Processor-with-glibc2.39
KiB Mem:    32789636 total,  12540016 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 28 Jun 2024 11:30:00 +0000
Head commit of repository gentoo: 23b873e1c3c6bb8fd9d8fb7e33cecb72ffb701d0
Timestamp of repository brother-overlay: Fri, 17 May 2024 12:20:55 +0000
Head commit of repository brother-overlay: 19d0fa5a6f475f6a3498828e438e54fefeff7951

sh bash 5.2_p26-r5
ld GNU ld (Gentoo 2.42 p3) 2.42.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26-r5::gentoo
dev-build/autoconf:        2.71-r7::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.5::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.4.1::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r3::gentoo
dev-lang/python:           3.11.9-r1::gentoo, 3.12.3-r1::gentoo
dev-lang/rust-bin:         1.77.1::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/openrc:           0.54.1::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.42-r1::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/llvm:            17.0.6::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r6::gentoo
Repositories:

gentoo
    location: /var/portage/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1

brother-overlay
    location: /var/portage/repos/brother-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/brother-overlay.git
    masters: gentoo
    volatile: True

local
    location: /var/portage/repos/local
    masters: gentoo
    priority: 0
    volatile: True

Binary Repositories:

binhost
    priority: 9999
    sync-uri: https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/releases/amd64/binpackages/23.0/x86-64

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/var/portage/dist"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe -march=native"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-request-signature buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=native"
GENTOO_MIRRORS="     https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/     https://ftp.fau.de/gentoo/     https://mirror.netcologne.de/gentoo/ "
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="de de_DE"
MAKEOPTS="-j12"
PKGDIR="/var/portage/pkg"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 bash-completion bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus declarative dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kf6compat kwallet lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de de_DE" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby31 ruby32" SANE_BACKENDS="plustek" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS


# emerge -1pv dev-qt/qtmultimedia:6
...
[ebuild   R    ] dev-qt/qtmultimedia-6.7.1:6/6.7.1::gentoo  USE="X alsa ffmpeg opengl pulseaudio qml vulkan -eglfs -gstreamer -test -v4l -vaapi" 0 KiB


# emerge -1pv media-video/ffmpeg
...
[ebuild   R    ] media-video/ffmpeg-6.1.1-r5:0/58.60.60::gentoo  USE="X alsa bzip2 dav1d encode gnutls gpl iconv lcms libaom mp3 network opengl opus pic postproc pulseaudio sdl svg threads truetype vorbis vulkan x264 xvid zlib (-amf) -amr -amrenc (-appkit) -bluray -bs2b -cdio -chromaprint -chromium -codec2 -cpudetection (-cuda) -debug -doc -fdk -flite -fontconfig -frei0r -fribidi -gcrypt -glslang -gme -gmp -gsm -hardcoded-tables -iec61883 -ieee1394 -jack -jpeg2k -jpegxl -kvazaar -ladspa -libaribb24 -libass -libcaca -libdrm -libilbc -libplacebo -librtmp -libsoxr -libtesseract -libv4l -libxml2 -lv2 -lzma (-mipsdspr1) (-mipsdspr2) (-mipsfpu) -modplug -nvenc -openal -opencl -openh264 -openssl -oss (-qsv) -rav1e -rubberband -samba -shaderc -snappy -sndio -soc -speex -srt -ssh -static-libs -svt-av1 -test -theora -twolame -v4l -vaapi -vdpau -verify-sig -vidstab (-vmaf) -vpx -webp -x265 -zeromq -zimg -zvbi" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 -3dnow -3dnowext -fma4 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher" 0 KiB
Comment 6 Ionen Wolkens gentoo-dev 2024-07-02 03:14:10 UTC
fwiw I can't reproduce either, I thought it *could* be related to USE=-gstreamer (default on plasma profiles) but elisa still plays audio fine even if I disable it (was using pipewire).
Comment 7 Ionen Wolkens gentoo-dev 2024-07-02 03:23:02 UTC
(In reply to Ionen Wolkens from comment #6)
> fwiw I can't reproduce either, I thought it *could* be related to
> USE=-gstreamer (default on plasma profiles)
err scratch the default comment, forget it only set that on :5, albeit in my case it was enabled because I combine gnome and plasma profiles
Comment 8 Ionen Wolkens gentoo-dev 2024-07-02 03:37:11 UTC
Given the "QAudioSink: snd_pcm_hw_params_set_format: err = -22", I would assume something is going wrong while it's trying to use alsa (snd_pcm_hw_params_set_format is alsa).

Not sure if it tried pulseaudio first and fell back to alsa, or uses alsa by default when USE="alsa pulseaudio". In theory alsa should be fine if you have pulse or pipewire alsa plugins setup fine though. You could try disabling USE=alsa on qtmultimedia to see if pulseaudio backend works.

vlc may have different priorities and bypass whatever is setup wrong or broken.
Comment 9 Ionen Wolkens gentoo-dev 2024-07-02 03:42:31 UTC
Which reminds me, I guess the alsa backend on qtmultimedia is technically experimental... I imagined it was harmless given figured pulseaudio would be prioritized if it works.

Guess could consider silently disabling USE=alsa when pulseaudio is enabled if it's causing problems.
Comment 10 Tobias Leupold 2024-07-02 05:45:47 UTC
I just tried dev-qt/qtmultimedia:6[-alsa] in combination with media-sound/elisa:6[-vlc]. In this case, Elisa does play music!
Comment 11 Ionen Wolkens gentoo-dev 2024-07-02 05:59:21 UTC
(In reply to Tobias Leupold from comment #10)
> I just tried dev-qt/qtmultimedia:6[-alsa] in combination with
> media-sound/elisa:6[-vlc]. In this case, Elisa does play music!
Thanks, guess I'll change USE=alsa handling in qtmultimedia then.

There may be something wrong with your alsa plugins but, either way, I don't want it to prioritize alsa plugins over using pulse directly even if they work (well, directly is relative if pipewire is used though).
Comment 12 Larry the Git Cow gentoo-dev 2024-07-02 06:25:43 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28b3f2608777853f8a89942a83b3cc57ff611300

commit 28b3f2608777853f8a89942a83b3cc57ff611300
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-07-02 06:09:25 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-07-02 06:22:43 +0000

    dev-qt/qtmultimedia: disable alsa when pulseaudio is enabled (qt6)
    
    Could revisit enabling both if qtmultimedia tries higher-end
    backends like pulseaudio first in the future, but currently
    it is both marked experimental and without autodetect:
    
        qt_feature("alsa" PUBLIC PRIVATE
            LABEL "ALSA (experimental)"
            AUTODETECT false
    
    So only enable it if it's the only option we have.
    
    Have not checked the state of this for Qt5, but probably better
    off not touching at this point unless someone has problems
    (it's possible the audio sink was going through gstreamer
    preventing issues).
    
    Closes: https://bugs.gentoo.org/935146
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 ...timedia-6.7.1.ebuild => qtmultimedia-6.7.1-r1.ebuild} | 16 ++++++++++++++--
 ...timedia-6.7.2.ebuild => qtmultimedia-6.7.2-r1.ebuild} | 16 ++++++++++++++--
 dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild         | 16 ++++++++++++++--
 dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild         | 16 ++++++++++++++--
 dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild           | 16 ++++++++++++++--
 5 files changed, 70 insertions(+), 10 deletions(-)
Comment 13 Tobias Leupold 2024-07-02 07:02:17 UTC
Hey, thanks for the immediate fix :-) How would I check if something's wrong with my ALSA stuff? I think I set it up according to the wiki when I setup my machine eons ago and never touched it again ...
Comment 14 Ionen Wolkens gentoo-dev 2024-07-02 08:05:15 UTC
I guess there's not really anything pulling alsa-plugins w/ USE=pulseaudio nowadays (beside being mentioned as optfeature w/ pipewire and pulseaudio-daemon), so wouldn't be surprising if you don't have it.

If using pipewire, rather than alsa-plugins, may prefer USE=pipewire-alsa on the pipewire package to have it provide its own plugin.

Ultimately not essential to have unless you happen to use some applications that only support alsa. In this particular case I'd rather blame qtmultimedia for not autodetecting what it should use well.
Comment 15 Tobias Leupold 2024-07-02 09:44:33 UTC
Hey, I just wanted to update qtmultimedia, and it still wants to enable alsa, although pulseaudio is set:

# emerge -1av dev-qt/qtmultimedia
...
[ebuild     U  ] dev-qt/qtmultimedia-6.7.1-r1:6/6.7.1::gentoo [6.7.1:6/6.7.1::gentoo] USE="X alsa* ffmpeg opengl pulseaudio qml vulkan -eglfs -gstreamer -test -v4l -vaapi" 0 KiB

The commit message was "dev-qt/qtmultimedia: disable alsa when pulseaudio is enabled (qt6)" -- is this intended?

Apart from that I actually don't have the alsa-plugins installed.
Comment 16 Ionen Wolkens gentoo-dev 2024-07-02 13:23:59 UTC
USE=alsa (now) does nothing when USE=pulseaudio is enabled, and prints a short warning in the build.log about it.

Done that way so all users that set both (which is very common being a default on plasma and gnome profiles) don't have to be forced to manually disable it as it'd be annoying.

In other words, it's ok to leave it enabled and not keep configs to disable it.
Comment 17 Tobias Leupold 2024-07-02 13:37:01 UTC
Ak okay! Thanks for the explanation :-)