FS#69556 - [spice-gtk] Sound not working without gst-plugins-good installed

Attached to Project: Community Packages
Opened by Chih-Hsuan Yen (yan12125) - Saturday, 06 February 2021, 10:08 GMT
Last edited by Balló György (City-busz) - Sunday, 14 March 2021, 18:26 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Balló György (City-busz)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Since spice-gtk 0.39, guest sound does not work if gst-plugins-good is not installed. Connecting to my Windows 10 VM via remote-viewer results in a warning

(remote-viewer:149400): GSpice-WARNING **: 18:00:36.915: Failed to create pipeline: no element "autoaudiosink"

followed by tons of errors

** (remote-viewer:149400): CRITICAL **: 18:00:37.000: gst_app_src_push_internal: assertion 'GST_IS_APP_SRC (appsrc)' failed

After installing gst-plugins-good, those warnings/errors are gone and sound works again like spice-gtk<=0.38. Please consider adding gst-plugins-good to depends or optdepends of spice-gtk.

The same issue is also discussed in https://bbs.archlinux.org/viewtopic.php?id=263158.

Note that in spice-gtk 0.39, upstream removed the PulseAudio backend [1], so gstreamer is needed.

[1] https://gitlab.freedesktop.org/spice/spice-gtk/-/blob/master/CHANGELOG.md#v039

Additional info:
community/spice-gtk 0.39-2
extra/gst-plugins-good 1.18.3-1

Steps to reproduce:
1. Install a Windows VM from virt-manager with sound enabled
2. Connect to the VM with remote-viewer
This task depends upon

Closed by  Balló György (City-busz)
Sunday, 14 March 2021, 18:26 GMT
Reason for closing:  Fixed
Additional comments about closing:  gst-plugins-good added to dependencies in spice-gtk 0.39-3
Comment by Chih-Hsuan Yen (yan12125) - Saturday, 06 February 2021, 10:28 GMT
The key file appears to be /usr/lib/gstreamer-1.0/libgstautodetect.so in gst-plugins-good. If I remove that file after gst-plugins-good is installed, remote-viewer can no longer play sound as if gst-plugins-good is not installed. From logs of `remote-viewer --spice-debug`,

(remote-viewer:150631): GSpice-DEBUG: 18:22:17.124: ../spice-gtk-0.39/src/spice-gstaudio.c:298 audio pipeline: appsrc is-live=1 do-timestamp=0 format=time caps="audio/x-raw,format="S16LE",channels=2,rate=48000,layout=interleaved" name="appsrc" ! queue ! audioconvert ! audioresample ! autoaudiosink name="audiosink"

Also, autoaudiosink is provided by the autodetect plugin [1].

[1] https://gstreamer.freedesktop.org/documentation/autodetect/index.html?gi-language=c
Comment by Billy (billy02812) - Wednesday, 24 February 2021, 11:28 GMT
Ran into the same issue. Spoke with toso (spice developer) in IRC, as well.

Transcript of the IRC conversation is at: https://paste.rs/YFr

In it, he confirms spice-gtk 0.39 has pulseaudio support removed as yan12125 mentions, and that gst-plugins-good should be added to the dependencies.

Makes sense to me to have this be a depends, not an optdepends. Many people are going to expect audio to just work, and upstream lists gstreamer as a "hard dependency" at https://gitlab.freedesktop.org/spice/spice-gtk/-/merge_requests/33 which is referenced in their changelog.

Loading...