Bug 21911 - cutecw has no sound output
Summary: cutecw has no sound output
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA6-64-OK MGA6-32-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2017-10-22 01:10 CEST by Barry Jackson
Modified: 2017-11-16 08:40 CET (History)
4 users (show)

See Also:
Source RPM: cutecw-1.0-9.mga6.src.rpm
CVE:
Status comment:


Attachments
cutediff from above test (7.00 KB, text/plain)
2017-11-01 01:14 CET, Barry Jackson
Details

Description Barry Jackson 2017-10-22 01:10:03 CEST
Description of problem:
Cutecw has no sound output in plasma5 with pulseaudio.
There is now a fork of this project which has been ported to qt5 which fixes the issue.
I have pushed this to Cauldron and done some testing of the same package built for Mageia 6.
I will push this to 6/updates_testing in the next days.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
Comment 1 Barry Jackson 2017-10-27 00:07:28 CEST
####################
Update Advisory

cutecw-1.2-2.mga6 has been pushed to 6/updates_testing to fix this bug

####################
Description

cutecw has been updated to version 1.2 to fix missing sound which made it unusable.

####################
Reference

https://bugs.mageia.org/show_bug.cgi?id=21911

####################
Affected packages

cutecw-1.2-2.mga6.i586.rpm
cutecw-1.2-2.mga6.x86_64.rpm

From source package

cutecw-1.2-2.mga6.src.rpm

####################
Testing

Install and open the GUI from the main menu Education section.
On opening, a Morse Code intro sound that says "de WS6Z" is played by default and if that works and the GUI is functional then testing is complete.

Assignee: zen25000 => qa-bugs

Comment 2 Herman Viaene 2017-10-31 11:09:20 CET
MGA5-32 on Asus A6000VM MATE
No installation issues
Start cutecw from CLI: no sound
In the options menu, there is a "Test" button for sound, but nothing.....
At the CLI I get messages:
[2017-10-31T11:04:29][W][MainWindow.cpp:108 (MainWindow::createAudioOutput)] Raw audio format not supported by backend, cannot play audio.
[2017-10-31T11:04:29][D][MainWindow.cpp:110 (MainWindow::createAudioOutput)] Using: SampleRate 44100, SampleSize 16, Codec audio/pcm, ByteOrder LittleEndian, SampleType SignedInt
[2017-10-31T11:04:29][D][MainWindow.cpp:111 (MainWindow::createAudioOutput)] Using audio device ""
[2017-10-31T11:04:29][D][MainWindow.cpp:112 (MainWindow::createAudioOutput)] Supported: SampleRate () SampleSize () Codec () ByteOrder () SampleType ()
[2017-10-31T11:04:29][W][unknown:0 (unknown)] using null output device, none available
And surely, I have some .wav files available and they play nicely with a decent volume.

CC: (none) => herman.viaene

Comment 3 Barry Jackson 2017-10-31 11:50:17 CET
Hmm that's sad.
In the Mga6 core version I see:
[baz@leno ~]$ cutecw
new morse2 
original buffer size:  0 
switch to: 0 
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
using null output device, none available

The outut in plasma5 is quite long, but the audio related part is:

[2017-10-31T10:39:29][D][MainWindow.cpp:110 (MainWindow::createAudioOutput)] Using: SampleRate 44100, SampleSize 16, Codec audio/pcm, ByteOrder LittleEndian, SampleType SignedInt                                                                  
[2017-10-31T10:39:29][D][MainWindow.cpp:111 (MainWindow::createAudioOutput)] Using audio device "alsa_output.pci-0000_00_1b.0.analog-stereo"                                                                                                        
[2017-10-31T10:39:29][D][MainWindow.cpp:112 (MainWindow::createAudioOutput)] Supported: SampleRate (8000, 11025, 22050, 44100, 48000) SampleSize (8, 16, 24, 32) Codec ("audio/pcm") ByteOrder (BigEndian, LittleEndian) SampleType (SignedInt, UnSignedInt, Float) 

The above are from my laptop.
Comment 4 Barry Jackson 2017-10-31 11:52:45 CET
Sorry - I meant to say "The output from the updates_testing version is quite long..." not woken up yet :\
Comment 5 Len Lawrence 2017-10-31 12:46:17 CET
Mageia 6 on x86_64

Installed and updated.  pre-install there was no sound.
Found it in Sound & Video but it also launched fine from the cli.
Quite tricky with bluetooth sound to lock on to my speaker so I would have missed the intro.  I have to use pavucontrol to select the output.  It reverts to a default when there is no sound.  Tried the Read to Me option and typed in some text which gave me time to select the Bose SLIII and hear the morse code output.

Shall have a go on another machine with an easier audio setup.

CC: (none) => tarazed25

Comment 6 Herman Viaene 2017-10-31 13:46:55 CET
Pavucontrol shows only one sound device, which is OK. Checked levels OK, but cutecw remains silent.
Comment 7 Len Lawrence 2017-10-31 14:24:59 CET
Tried another machine with Mageia 6 on x86_64.

Pre-update:

$ cutecw
new morse2 
original buffer size:  0 
switch to: 0 
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
using null output device, none available 

<Read To Me mode>
switch to: 8 
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout
key pressed:  ""   0   0 
key pressed:  ""   0   0 
playButton() 
using null output device, none available 

i.e. no sound.

Updated the package:
$ cutecw
[2017-10-31T12:58:39][D][main.cpp:57 (main)] Using native config
[2017-10-31T12:58:39][C][main.cpp:41 (findTranslations)] unable to found translations in paths, fallback to current CWD even if not fond in it
[2017-10-31T12:58:40][W][MainWindow.cpp:108 (MainWindow::createAudioOutput)] Raw audio format not supported by backend, cannot play audio.
[2017-10-31T12:58:40][D][MainWindow.cpp:110 (MainWindow::createAudioOutput)] Using: SampleRate 44100, SampleSize 16, Codec audio/pcm, ByteOrder LittleEndian, SampleType SignedInt
..........................

No sign on jingle.

Tried plugging in a speaker and tested it with mplayer.  Worked fine.

$ cutecw

Again, backend does not support raw output.  No sound.
Comment 8 Barry Jackson 2017-10-31 15:15:59 CET
In plasma5 with it working and sending a long text the following output is available from pactl:

[baz@leno ~]$ pactl list sink-inputs
Sink Input #341
        Driver: protocol-native.c
        Owner Module: 11
        Client: 522
        Sink: 0
        Sample Specification: s16le 1ch 44100Hz
        Channel Map: mono
        Format: pcm, format.sample_format = "\"s16le\""  format.rate = "44100"  format.channels = "1"  format.channel_map = "\"mono\""
        Corked: no
        Mute: no
        Volume: mono: 65536 / 100% / 0.00 dB
                balance 0.00
        Buffer Latency: 1369863 usec
        Sink Latency: 205558 usec
        Resample method: copy
        Properties:
                media.name = "QtmPulseStream-30831-24403136"                                                              
                application.name = "QtPulseAudio:30831"                                                                   
                native-protocol.peer = "UNIX socket client"                                                               
                native-protocol.version = "32"                                                                            
                application.process.id = "30831"                                                                          
                application.process.user = "baz"                                                                          
                application.process.host = "leno"                                                                         
                application.process.binary = "cutecw"                                                                     
                application.language = "en_GB.UTF-8"                                                                      
                window.x11.display = ":0"                                                                                 
                application.process.machine_id = "44cb6a354d4546b8a10d384ebc12d123"                                       
                application.process.session_id = "c2"
                application.icon_name = "cutecw"
                module-stream-restore.id = "sink-input-by-application-name:QtPulseAudio:30831"
[baz@leno ~]$ 

So please check if PA is running and set as default in mcc
Comment 9 Herman Viaene 2017-10-31 15:59:12 CET
Pulseaudio was on in MCC. What do you mean by PA running??
At CLI $ pactl list sink-inputs returns nothing, but
]$ pactl list sinks
Sink #0
	State: SUSPENDED
	Name: alsa_output.pci-0000_00_1b.0.analog-stereo
	Description: Intern geluid Analoog stereo
	Driver: module-alsa-card.c
	Sample Specification: s16le 2ch 44100Hz
	Channel Map: front-left,front-right
	Owner Module: 6
	Mute: no
	Volume: front-left: 59467 /  91% / -2,53 dB,   front-right: 59467 /  91% / -2,53 dB
	        balance 0,00
	Base Volume: 65536 / 100% / 0,00 dB
	Monitor Source: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC880 Analog"
		alsa.id = "ALC880 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel"
		alsa.long_card_name = "HDA Intel at 0xfebf8000 irq 25"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1b.0"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "2668"
		device.product.name = "82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (Asus A6VC)"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analoog stereo"
		device.description = "Intern geluid Analoog stereo"
		alsa.mixer_name = "Realtek ALC880"
		alsa.components = "HDA:10ec0880,1043020d,00100800 HDA:14f12bfa,10431966,00090000"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Poorten:
		analog-output-speaker: Speakers (priority: 10000)
		analog-output-headphones: Analoge koptelefoon (priority: 9000)
	Actieve poort: analog-output-speaker
	Formats:
		pcm
Comment 10 Len Lawrence 2017-10-31 18:44:49 CET
Re comment 9; I get something similar on my 64-bit machine with
$ pactl list sinks
However see later note.

pulseaudio is definitely running and
$ pactl list sink-inputs 
returns:
Sink Input #749
	Driver: protocol-native.c
	Owner Module: 10
	Client: 306
	Sink: 23
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 27862 /  43% / -22.29 dB,   front-right: 27862 /  43% / -22.29 dB
	        balance 0.00
	Buffer Latency: 208000 usec
	Sink Latency: 39548 usec
	Resample method: copy
	Properties:
		media.name = "Nabucco.mp4"
		application.name = "MPlayer"
		native-protocol.peer = "UNIX socket client"
...................................
when mplayer is running and after the mplayer run the same command contains this extract:
Sink #23
	State: IDLE
	Name: alsa_output.usb-04d2_inMotion_Air-00.analog-stereo
	Description: inMotion Air Analog Stereo

which seems to indicate that the audio stream is still available.

The same command returns state IDLE while cutecw is running - 'Read to me' mode with each word repeated 10 times and rate 20 wpm.
Comment 11 Len Lawrence 2017-10-31 18:46:48 CET
The puzzling thing is that  the test on the other machine produced morse code output, sharp and clear.  I must see if that can be reproduced.
Comment 12 Len Lawrence 2017-10-31 19:37:32 CET
I managed to reproduce the morse output using bluetooth which connects to the Hifi output.  Eventually after fiddling with the ports and channels in pavucontrol I was able to get consistent behaviour.  When cutecw was restarted the call sign came in loud and clear and the 'Read To Me' text was transmitted when the play-button was pressed - each word was underlined as it was encoded.  So in principle the application works but it requires a lot of experimentation with audio output.
Comment 13 Len Lawrence 2017-10-31 19:42:21 CET
And, should have noted re comment 12:

While cutecw is running
$ pactl list sink-inputs
Sink Input #113
	Driver: protocol-native.c
	Owner Module: 13
	Client: 32
	Sink: 12
	Sample Specification: s16le 1ch 44100Hz
	Channel Map: mono
	Format: pcm, format.sample_format = "\"s16le\""  format.rate = "44100"  format.channels = "1"  format.channel_map = "\"mono\""
	Corked: no
	Mute: no
	Volume: mono: 65536 / 100% / 0.00 dB
	        balance 0.00
	Buffer Latency: 203174 usec
	Sink Latency: 28039 usec
	Resample method: copy
	Properties:
		media.name = "QtmPulseStream-27269-27851904"
		application.name = "QtPulseAudio:27269"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "32"
		application.process.id = "27269"
		application.process.user = "lcl"
		application.process.host = "vega"
		application.process.binary = "cutecw"
		application.language = "en_GB.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "704575e619b9440985011bd19fa395a3"
		application.process.session_id = "c4"
		application.icon_name = "cutecw"
		module-stream-restore.id = "sink-input-by-application-name:QtPulseAudio:27269"
Comment 14 Barry Jackson 2017-11-01 01:12:16 CET
(In reply to Len Lawrence from comment #13)

Thanks Len that looks fine :)

(In reply to Herman Viaene from comment #9)

> Pulseaudio was on in MCC. What do you mean by PA running??

[baz@jackodesktop ~]$ ps aux |grep [p]ulseaudio
baz       4124  0.0  0.1 1939420 13404 ?       S<sl 22:07   0:02 /usr/bin/pulseaudio --daemonize=no

> At CLI $ pactl list sink-inputs returns nothing,

which is correct if there is no sink in use or available

I notice in #2 you said:

MGA5-32 on Asus A6000VM MATE

Was that a typo?  :)

I just did this:

[baz@jackodesktop ~]$ pacmd list >stopped

Started cutecw and in 'read to me mode' loaded a news bulletin and hit play

[baz@jackodesktop ~]$ pacmd list >started

[baz@jackodesktop ~]$ diff -ur stopped started > cutediff

cutediff attached below for reference
Comment 15 Barry Jackson 2017-11-01 01:14:20 CET
Created attachment 9769 [details]
cutediff from above test
Comment 16 Herman Viaene 2017-11-01 10:03:40 CET
Typo indeed, it's MGA6-32.
and
$ ps aux |grep [p]ulseaudio
tester6   5257  0.0  0.6 633952 10336 ?        S<sl 09:52   0:00 /usr/bin/pulseaudio --daemonize=no
Followed your lead:
$ pacmd list >stopped
Started cutecw, no sound at starting. Choose Change Mode - Type code. Typed some characters, no sound.
$ pacmd list >started
diff -ur stopped started > cutediff
cutediff shows:
--- stopped	2017-11-01 09:56:00.771240365 +0100
+++ started	2017-11-01 10:01:03.231314840 +0100
@@ -519,7 +519,7 @@
 		window.x11.display = ":0"
 		application.process.machine_id = "bffb88de6a744c44895f0728efd1dfc2"
 		application.process.session_id = "3"
-    index: 7
+    index: 8
 	driver: <cli.c>
 	owner module: 24
 	properties:
Len Lawrence 2017-11-01 10:29:12 CET

Whiteboard: (none) => MGA6-64-OK

Comment 17 Barry Jackson 2017-11-01 11:22:49 CET
(In reply to Herman Viaene from comment #16)
> Typo indeed, it's MGA6-32.
> and
> $ ps aux |grep [p]ulseaudio
> tester6   5257  0.0  0.6 633952 10336 ?        S<sl 09:52   0:00
> /usr/bin/pulseaudio --daemonize=no
> Followed your lead:
> $ pacmd list >stopped
> Started cutecw, no sound at starting.

So cutecw is failing to initailize pulseaudio 

A shot in the dark... do you have task-codec-audio installed?
Comment 18 Herman Viaene 2017-11-01 11:59:30 CET
Yes, the version of the Core repos, but there is another from tainted avaliable. I installed that one (pulled in some other packages) and rebooted. No difference.
Comment 19 Barry Jackson 2017-11-02 00:49:48 CET
(In reply to Herman Viaene from comment #18)
> Yes, the version of the Core repos, but there is another from tainted
> avaliable. I installed that one (pulled in some other packages) and
> rebooted. No difference.
That's the one (64bit) that I am using here.

I'm wondering if this is 32 bit specific.

Please don't waste any more time on this for now. I will do more testing in VMs to see if I can reproduce. I will report back here when/if there is any news.

In the meantime maybe someone else with a 32 bit test system could give it a quick try to confirm your findings with different hardware.
Comment 20 Barry Jackson 2017-11-03 13:30:10 CET
Tested in a MGA6 32bit plasma5 VM and after a little poking at pulsaudio settings in host and client it works fine.
Comment 21 Barry Jackson 2017-11-04 01:11:31 CET
Tested in MGA6 32bit LXDE with the same result as Herman in #2 so it looks as though there is something provided by plasma5 that is missing in MATE and LXDE etc.
I will try to debug this.
Comment 22 Len Lawrence 2017-11-04 09:40:06 CET
Just out of curiosity I tried this in Plasma (mga6) with lineout plugged in.
The updated cutecw worked out of the box.  Callsign then a sentence transcribed to morse code.  No need to adjust any settings in pavucontrol.
Comment 23 Lewis Smith 2017-11-05 14:21:26 CET
Advisory uploaded ex comment 1.
This update looks controversial re 32-bit and desktop employed (it was reported Plasma). I can only do 64-bit, which Len has covered.
If Barry &/or Herman are eventually happy with the update, can it please be 32-bit OK'd and *validated* at the same time?
Lewis Smith 2017-11-05 14:34:53 CET

Keywords: (none) => advisory

Comment 24 Herman Viaene 2017-11-05 16:27:29 CET
There are no problems with the graphics, you can open all the modules etc.... so that's OK, but without sound it is pretty useless. But when you look at Barry's problem description on top and look at the tests, then nobody has done a test on a 32-bit Plasma platform AFAICS. That it does not work properly on MATE or LXDE is not really the subject of this update.
My 32-bit laptop is really too weak to run plasma. In the end I cannot say this update cannot go thru. IMO Barry should have the last word on it.
Comment 25 Barry Jackson 2017-11-05 17:09:52 CET
I did test plasma5 32bit in VM in comment #20 and it was OK.

I would like to get it working in all cases, but for now this is a lot better than it was, so it could probably be accepted.

There is a another small issue that I have discovered in testing that causes tones to be trunkated occasionally along with a click. I have found a possible fix for this and I would like to test it in cauldron before this is accepted, so it may be applied in Mga6 as well if it works.
Comment 26 Barry Jackson 2017-11-05 23:16:40 CET
The fix for the truncated audio failed, so I guess there is nothing we can do about that right now.
Anything that works to some degree is better than a totally broken package, so my feeling would be to allow this in but leave this bug open in the hope that upstream can resolve it for 32 bit in the future.
Comment 27 Barry Jackson 2017-11-06 13:51:45 CET
Hang on - I think I found it!
Herman - can you please check if your 32 bit install has qtmultimedia5 package installed.
If not please install it and test again :)
This seems to get pulled in with plasma5 but not by other DEs.
I will add this as require and push again to 6/updates_testing.
Comment 28 Barry Jackson 2017-11-06 14:35:14 CET
####################
Update Advisory

cutecw-1.2-2.1.mga6 has been pushed to 6/updates_testing to fix this bug

####################
Description

cutecw has been updated to version 1.2 to fix missing sound which made it unusable.

####################
Reference

https://bugs.mageia.org/show_bug.cgi?id=21911

####################
Affected packages

cutecw-1.2-2.1.mga6.i586.rpm
cutecw-1.2-2.1.mga6.x86_64.rpm

From source package

cutecw-1.2-2.1.mga6.src.rpm

####################
Testing

Install and open the GUI from the main menu Education section.
On opening, a Morse Code intro sound that says "de WS6Z" is played by default and if that works and the GUI is functional then testing is complete.

I would suggest that only the failing tests be repeated, as the only change is the addition of the missing require.
Comment 29 Herman Viaene 2017-11-07 09:51:21 CET
@ Barry Comment 27
Indeed qtmultimedia5 was not installed. Installing it and after that cutecw beeps away very clearly.OK -ing.

Whiteboard: MGA6-64-OK => MGA6-64-OK MGA6-32-OK

Comment 30 Len Lawrence 2017-11-08 21:37:29 CET
cutecw certainly works fine in Mate on Mageia 6 x86_64 with qtmultimedia5 installed.  Removing qtmultimedia5 also removes most of Plasma and stops cutecw working.  Just reinstalling qtmultimedia5 without the rest of Plasma brings cutecw back to life again - in Mate.

This is definitely good for Mageia 6 64-bits.
Comment 31 Len Lawrence 2017-11-08 21:40:14 CET
@Barry.  Would you agree that this is ready to be validated?
Comment 32 Barry Jackson 2017-11-09 11:47:38 CET
Hi Len,
Yes, I'm happy with it now that it has the Require on qtmultimedia5 and it's working in MATE etc. so please validate cutecw-1.2-2.1

Thanks,
Barry
Len Lawrence 2017-11-09 17:55:41 CET

CC: (none) => sysadmin-bugs
Keywords: (none) => validated_update

Comment 33 Nicolas Lécureuil 2017-11-10 20:10:12 CET
Update ID assignment failed

Checking for QA validation keyword⦠  â
Checking dependent bugs⦠             â (None found)
Checking SRPMs⦠                      â (6/core/cutecw-1.2-2.mga6) 


'advisory' keyword reset.

Keywords: advisory => (none)

Comment 34 Barry Jackson 2017-11-10 21:47:21 CET
It's cutecw-1.2-2.1 not cutecw-1.2-2
Dave Hodgins 2017-11-11 06:13:15 CET

CC: (none) => davidwhodgins
Keywords: (none) => advisory

Comment 35 Mageia Robot 2017-11-16 08:40:14 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2017-0108.html

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.