Hi,
I’ve made more tests and i confirm that DSD files are played but thez are converted to PCM.
My Holo Audio Sprng3 Level 2 DAC displays 352.8 kHz for DSD64, 705,6 kHz for DSD128 and 1411,2 kHz for DSD 256.
I get this when I send:
gst-play-1.0 --verbose --gapless --audiosink=“alsasink device=hw:0,0” /opt/test.dsf
Press ‘k’ to see a list of keyboard shortcuts.
Now playing /opt/test.dsf
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3: instant-uri = false
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata; application/x-subtitle; application/x-subtitle-sami; application/x-subtitle-tmplayer; application/x-subtitle-mpl2; application/x-subtitle-dks; application/x-subtitle-qttext; application/x-subtitle-lrc; application/x-subtitle-vtt; application/x-ssa; application/x-ass; application/x-subtitle-avi; application/x-ogm-text
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3: uri = file:///opt/test.dsf
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = “(GstFileSrc)\ filesrc0”
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3: current-uri = file:///opt/test.dsf
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3: current-suburi = (null)
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = audio/x-dsf
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/x-dsf
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:sink_0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0.GstGhostPad:src_0.GstProxyPad:proxypad5: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity0.GstPad:src: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity0.GstPad:sink: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: group-id = 2
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstPlaySink:playsink: volume = 1
/GstPlayBin3:playbin/GstPlaySink:playsink: mute = false
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:src_0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/avdec_dsd_lsbf_planar:avdec_dsd_lsbf_planar0.GstPad:sink: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string)DSDU8, reversed-bytes=(boolean)true, layout=(string)non-interleaved
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/avdec_dsd_lsbf_planar:avdec_dsd_lsbf_planar0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad6: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstTee:audiotee.GstTeePad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad11: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad9: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:src: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstBin:bin0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
Redistribute latency…
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstBin:bin0/GstAlsaSink:alsasink0.GstPad:sink: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstBin:bin0.GstGhostPad:sink: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad10: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:sink: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw, rate=(int)352800, format=(string)S32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Redistribute latency…
0:01:23.7 / 0:03:50.6
Does anyone have any idea what’s wrong?