lintweaker / mpd-dsd-019

DSD specific patches for MPD 0.19
GNU General Public License v2.0
10 stars 4 forks source link

Not certain about native playback #2

Closed kkkrackpot closed 9 years ago

kkkrackpot commented 9 years ago

Hi!

Thanks a lot for your DSD tweaks!

I successfully applied your patch to mpd-0.19.9 on Gentoo (x86_64 kernel 4.0.5). Everything works fine, that is I can hear music output to my iFi Nano iDSD (fw 4.10)!

I tested playback with some DSD512 file and that's what mpd says of it:

playlist: play 0:"o5dsd512.dff" decoder_thread: probing plugin dsdiff decoder: audio_format=2822400:dsd:2, seekable=true alsa_output: opened hw:0 type=HW alsa_output: format=DSD_U32_BE (Direct Stream Digital, 4-byte (x32), big endian, oldest bits in MSB) alsa_output: buffer: size=96..131072 time=250..341334 alsa_output: period: size=48..65536 time=125..170667 alsa_output: default period_time = buffer_time/4 = 341333/4 = 85333 alsa_output: buffer_size=131072 period_size=32768 output: opened plugin=alsa name="ALSA sound" audio_format=2822400:dsd:2

Does it mean, that native DSD is now working? I'm confused mainly with _audioformat=2822400:dsd:2 -- it still looks very much as DoP to me...

My MPD config

audio_output { type "alsa" enabled "yes" name "ALSA sound" mixer_type "none" reply_gain_handler "none" device "hw:0" auto_resample "no" auto_channels "no" auto_format "no" use_mmap "yes" dop "no" dsd_usb "no" dsd_native "yes" dsd_native_type "2" }

cat /proc/asound/card0/stream0

iFi (by AMR) iFi (by AMR) HD USB Audio at usb-0000:00:1d.7-1, high speed : USB Audio Playback: Status: Stop Interface 1 Altset 1 Format: S32_LE Channels: 2 Endpoint: 1 OUT (ASYNC) Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000 Data packet interval: 125 us Interface 1 Altset 2 Format: SPECIAL DSD_U32_BE Channels: 2 Endpoint: 1 OUT (ASYNC) Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000 Data packet interval: 125 us

Regards, Alex

PS. Do you plan to push your patches to mainline MPD code?

lintweaker commented 9 years ago

Hi, Thanks! You can verify if you are using native DSD by checking output of: /proc/asound/Audio/pcm0p/sub0/hw_params

If it is playing native DSD it should report:

access: MMAP_INTERLEAVED format: DSD_U32_BE subformat: STD channels: 2 rate: 88200 (88200/1) period_size: 11025 buffer_size: 44100

when playing native DSD for a DSD64 file.

kkkrackpot commented 9 years ago

Thanks!