wtfplay project - Linux based PC playback system

I must ask the same question as phofman. What does the "Input Connector"
control do? Does it make any difference when you change the value of the control?

There is a difference in the setting of the "Input Connector" between the
two systems. Please take a look at the output of amixer contents:

Yoctoap's value is set to 2

Code:
numid=5,iface=MIXER,name='Input Connector'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Optical'
  ; Item #1 'Coaxial'
  ; Item #2 'Internal'
  ; values=2

wtfplay'a velue is set to 1

Code:
numid=5,iface=MIXER,name='Input Connector'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Optical'
  ; Item #1 'Coaxial'
  ; Item #2 'Internal'
  ; values=1
 
I must ask the same question as phofman. What does the "Input Connector"
control do? Does it make any difference when you change the value of the control?

There is a difference in the setting of the "Input Connector" between the
two systems. Please take a look at the output of amixer contents:

Yoctoap's value is set to 2

Code:
numid=5,iface=MIXER,name='Input Connector'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Optical'
  ; Item #1 'Coaxial'
  ; Item #2 'Internal'
  ; values=2

wtfplay'a velue is set to 1

Code:
numid=5,iface=MIXER,name='Input Connector'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'Optical'
  ; Item #1 'Coaxial'
  ; Item #2 'Internal'
  ; values=1

In the settings of the "input connector" alsamixer wtfplay tried to change all three values: optical,coaxial,internal. It did not bring success
 
Last edited:
Thanks. Maybe this nothing related to the mixer settings? Let's verify that wtfplay is actually feeding the kernel driver with the data.

Start a playback with wtfplay, then switch to the second console (ALT+F2), activate it (ENTER) and type this command:

Code:
cat /proc/asound/card0/pcm?p/sub0/status

Please pay attention to the question mark in the command.

This should print the status of all pcm streams of devices provided by the card. There should be two of them. One of them should be running: "state: RUNNING".

You can always go back to the first console by pressing ALT+F1
 
Thanks. Maybe this nothing related to the mixer settings? Let's verify that wtfplay is actually feeding the kernel driver with the data.

Start a playback with wtfplay, then switch to the second console (ALT+F2), activate it (ENTER) and type this command:

Code:
cat /proc/asound/card0/pcm?p/sub0/status

Please pay attention to the question mark in the command.

This should print the status of all pcm streams of devices provided by the card. There should be two of them. One of them should be running: "state: RUNNING".

You can always go back to the first console by pressing ALT+F1

Started playback and switched to the second console. Did something fail?
 

Attachments

  • IMG_20200606_130828.jpg
    IMG_20200606_130828.jpg
    575.7 KB · Views: 96
Thanks, Indeed wtfplay is not playing, but I am wondering what is actually happening.

What you are doing in wtfcui is correct (shift+a, tab, enter) after that the window shows in the center of the screen. How long does this window stay open? Does it disappear quickly? Or stay on for a long time?

If you loaded say 1hour of music, then that window should stay up for that 1hr, until all files are played back.

I am expecting that the window in the center of the screen disappears quickly. That would indicate that the player does not play whatsoever. In such case options are that either the player does not like something about your files, or simply crashes in the process.

At least this moves alsamixer out of the picture - which is good :)

Would you be able to print a file with wtfplay from the command line? For example a 16/44.1 wav file.
The command goes like this - just change the path to point to the real file:

Code:
wtfplay -d "hw:0 /media/sda1/test.wav"

The quotes around the path allow for spaces in the file name. I would recommend renaming one file to something like "test.wav", which is easy to type.

F
 
Thanks, Indeed wtfplay is not playing, but I am wondering what is actually happening.

What you are doing in wtfcui is correct (shift+a, tab, enter) after that the window shows in the center of the screen. How long does this window stay open? Does it disappear quickly? Or stay on for a long time?

If you loaded say 1hour of music, then that window should stay up for that 1hr, until all files are played back.

I am expecting that the window in the center of the screen disappears quickly. That would indicate that the player does not play whatsoever. In such case options are that either the player does not like something about your files, or simply crashes in the process.

At least this moves alsamixer out of the picture - which is good :)


Would you be able to print a file with wtfplay from the command line? For example a 16/44.1 wav file.
The command goes like this - just change the path to point to the real file:

Code:
wtfplay -d "hw:0 /media/sda1/test.wav"

The quotes around the path allow for spaces in the file name. I would recommend renaming one file to something like "test.wav", which is easy to type.

F

I wrote the flac 16 / 44.1 (1.flac) file to the USB flash drive (sdb1). Nothing happened.
 

Attachments

  • IMG_20200606_150746.jpg
    IMG_20200606_150746.jpg
    275.8 KB · Views: 105
What is the format of the flac that you are trying to play? Is it 16/44.1?

If I understand you correctly, the player works for a 16/44.1 wav file. Is that right?

I was suspecting the player crash while decoding the flac. This can happen if the CPU does not like certain code optimisations, but here this is not the case.

I also tried core7 image on Intel I5 M520 CPU with fiac files and it works OK.

F
 
What is the format of the flac that you are trying to play? Is it 16/44.1?

If I understand you correctly, the player works for a 16/44.1 wav file. Is that right?

I was suspecting the player crash while decoding the flac. This can happen if the CPU does not like certain code optimisations, but here this is not the case.

I also tried core7 image on Intel I5 M520 CPU with fiac files and it works OK.

F

That's right, I have exclusively 16 / 44.1 files in wav, flac formats
CPU
Процессор Intel(R) Core™ i3-540 (4 МБ кэш-памяти, 3,06 ГГц) Спецификации продукции
 
"Failed setup PCM" looks like the soundcard driver did not accept hw_params at snd_pcm_open. The driver linux/rme96.c at master * torvalds/linux * GitHub looks quite picky about supported values. Do you check all hw_params (with snd_set_xxx_near etc.) before requesting them in snd_pcm_open?

A good way to debug is running aplay -v -D plughw:XX with all the requested params - the plug plugin (via the verbose parameter of aplay) will report what changes to the params the plug had to do to satisfy the driver.
 
This is is very interesting. It does not look like anything related to your CPU in particular.

The error message that you got happens after the file is fully loaded and prepared for playback. I do not see why WAV or FLAC would make any difference at that stage. Unless there is a very nasty bug in the software that manifests itself in a very special circumstances (software and hardware wise).

May I ask you to try a couple of other WAV and FLAC files? I am interested in determining if this is systematic, that is the player fails with always fails with FLAC and always succeeds with WAV.

You could also take a FLAC file that fails, unpack it with flac (flac -d <file>) and try playing the resulting WAV.

I apologise if this looks like a lot of work and thank you for your effort so far. If there is a bug there then I really want nail it. That is why I would like to to get to the bottom of this.

Cheers,
F