I can play DSF using gst-launch cli:
Code: Select all
gst-launch-1.0 filesrc location=test.dsf ! decodebin ! audioconvert ! alsasink

Code: Select all
gst-launch-1.0 filesrc location=test.dsf ! decodebin ! audioconvert ! alsasink
Code: Select all
$ gst-launch-1.0 -v -m filesrc location=test.dsf ! decodebin ! audioconvert ! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got message #9 from element "alsasink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #10 from element "audioconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #11 from element "typefind" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #12 from element "decodebin0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #13 from element "filesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #14 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
Got message #17 from element "audioconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #22 from pad "typefind:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstTypeFindElement\)\ typefind", object=(GstTask)"\(GstTask\)\ typefind:sink";
Got message #23 from element "typefind" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #24 from element "filesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #25 from pad "typefind:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstTypeFindElement\)\ typefind", object=(GstTask)"\(GstTask\)\ typefind:sink";
Got message #28 from pad "typefind:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)application/x-gst-av-dsf;
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = application/x-gst-av-dsf
Got message #42 from element "avdemux_dsf0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #43 from pad "typefind:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"NULL";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
Got message #44 from pad "avdemux_dsf0:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(avdemux_dsf\)\ avdemux_dsf0", object=(GstTask)"\(GstTask\)\ task2";
Got message #45 from element "avdemux_dsf0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #46 from pad "avdemux_dsf0:sink" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(avdemux_dsf\)\ avdemux_dsf0", object=(GstTask)"\(GstTask\)\ avdemux_dsf0:sink";
Got message #56 from pad "multiqueue0:src_0" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstMultiQueue\)\ multiqueue0", object=(GstTask)"\(GstTask\)\ task3";
Got message #60 from pad "multiqueue0:src_0" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-dsd\,\ rate\=\(int\)352800\,\ channels\=\(int\)2\,\ channel-mask\=\(bitmask\)0x0000000000000003\,\ lsbf\=\(boolean\)true\,\ planar\=\(boolean\)true";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, lsbf=(boolean)true, planar=(boolean)true
Got message #71 from pad "multiqueue0:src_0" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstMultiQueue\)\ multiqueue0", object=(GstTask)"\(GstTask\)\ multiqueue0:src_0";
Got message #75 from element "avdec_dsd_lsbf_planar0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #79 from element "avdec_dsd_lsbf_planar0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #80 from pad "avdec_dsd_lsbf_planar0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-dsd\,\ rate\=\(int\)352800\,\ channels\=\(int\)2\,\ channel-mask\=\(bitmask\)0x0000000000000003\,\ lsbf\=\(boolean\)true\,\ planar\=\(boolean\)true";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_dsd_lsbf_planar:avdec_dsd_lsbf_planar0.GstPad:sink: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, lsbf=(boolean)true, planar=(boolean)true
Got message #88 from pad "multiqueue0:src_1" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstMultiQueue\)\ multiqueue0", object=(GstTask)"\(GstTask\)\ task4";
Got message #92 from pad "multiqueue0:src_1" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"image/jpeg\,\ width\=\(int\)1040\,\ height\=\(int\)1040\,\ framerate\=\(fraction\)1/1\,\ parsed\=\(boolean\)true";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_1: caps = image/jpeg, width=(int)1040, height=(int)1040, framerate=(fraction)1/1, parsed=(boolean)true
Got message #94 from pad "multiqueue0:src_1" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstMultiQueue\)\ multiqueue0", object=(GstTask)"\(GstTask\)\ multiqueue0:src_1";
Got message #107 from element "jpegdec0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #111 from element "jpegdec0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #112 from pad "jpegdec0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"image/jpeg\,\ width\=\(int\)1040\,\ height\=\(int\)1040\,\ framerate\=\(fraction\)1/1\,\ parsed\=\(boolean\)true";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg, width=(int)1040, height=(int)1040, framerate=(fraction)1/1, parsed=(boolean)true
Got message #113 from element "multiqueue0" (property-notify): GstMessagePropertyNotify, property-name=(string)max-size-buffers, property-value=(uint)5;
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-buffers = 5
Got message #114 from element "multiqueue0" (property-notify): GstMessagePropertyNotify, property-name=(string)max-size-time, property-value=(guint64)0;
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-time = 0
Got message #115 from element "multiqueue0" (property-notify): GstMessagePropertyNotify, property-name=(string)max-size-bytes, property-value=(uint)2097152;
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
Got message #117 from pad "multiqueue0:sink_0" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-dsd\,\ rate\=\(int\)352800\,\ channels\=\(int\)2\,\ channel-mask\=\(bitmask\)0x0000000000000003\,\ lsbf\=\(boolean\)true\,\ planar\=\(boolean\)true";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/x-dsd, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, lsbf=(boolean)true, planar=(boolean)true
Got message #118 from pad "multiqueue0:sink_1" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"image/jpeg\,\ width\=\(int\)1040\,\ height\=\(int\)1040\,\ framerate\=\(fraction\)1/1\,\ parsed\=\(boolean\)true";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_1: caps = image/jpeg, width=(int)1040, height=(int)1040, framerate=(fraction)1/1, parsed=(boolean)true
Got message #128 from pad "jpegdec0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1040\,\ height\=\(int\)1040\,\ interlace-mode\=\(string\)progressive\,\ multiview-mode\=\(string\)mono\,\ multiview-flags\=\(GstVideoMultiviewFlagsSet\)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\ colorimetry\=\(string\)1:4:0:0\,\ framerate\=\(fraction\)1/1";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1040, height=(int)1040, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)1:4:0:0, framerate=(fraction)1/1
Got message #130 from pad "avdec_dsd_lsbf_planar0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)F32LE\,\ layout\=\(string\)non-interleaved\,\ rate\=\(int\)352800\,\ channels\=\(int\)2\,\ channel-mask\=\(bitmask\)0x0000000000000003";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/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
Got message #136 from element "decodebin0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #47 from element "pipeline0" (stream-start): GstMessageStreamStart, group-id=(uint)2;
Got message #140 from pad "audioconvert0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ rate\=\(int\)352800\,\ format\=\(string\)F32LE\,\ channels\=\(int\)2\,\ layout\=\(string\)interleaved\,\ channel-mask\=\(bitmask\)0x0000000000000003";
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, rate=(int)352800, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
Got message #141 from element "alsasink0" (latency): no message details
Redistribute latency...
Got message #142 from object "audiosinkringbuffer0" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstAlsaSink\)\ alsasink0", object=(GThread)NULL;
Got message #143 from pad "alsasink0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ rate\=\(int\)352800\,\ format\=\(string\)F32LE\,\ channels\=\(int\)2\,\ layout\=\(string\)interleaved\,\ channel-mask\=\(bitmask\)0x0000000000000003";
/GstPipeline:pipeline0/GstAlsaSink:alsasink0.GstPad:sink: caps = audio/x-raw, rate=(int)352800, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
Got message #144 from pad "audioconvert0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)F32LE\,\ layout\=\(string\)non-interleaved\,\ rate\=\(int\)352800\,\ channels\=\(int\)2\,\ channel-mask\=\(bitmask\)0x0000000000000003";
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Got message #145 from pad "src_1:proxypad2" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)F32LE\,\ layout\=\(string\)non-interleaved\,\ rate\=\(int\)352800\,\ channels\=\(int\)2\,\ channel-mask\=\(bitmask\)0x0000000000000003";
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_1.GstProxyPad:proxypad2: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)352800, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Got message #147 from element "alsasink0" (tag): GstMessageTag, taglist=(taglist)"taglist\,\ album\=\(string\)\"Acoustic\\\ Trio\\\ -\\\ DSD\\\ Sessions\"\,\ title\=\(string\)\"Rodeo\\\ On\\\ A\\\ Ridge\"\,\ artist\=\(string\)\"David\\\ Elias\"\,\ genre\=\(string\)\"Independent\\\ Acoustic\"\,\ encoder\=\(string\)\"KORG\\\ AudioGate\\\ ver.2.3.2\\\ \\\(Windows\\\ 7\\\)\"\,\ datetime\=\(datetime\)2006-11-17T10:48Z\;";
Got message #148 from element "alsasink0" (tag): GstMessageTag, taglist=(taglist)"taglist\,\ audio-codec\=\(string\)\"DSD\\\ \\\(Direct\\\ Stream\\\ Digital\\\)\\\,\\\ least\\\ significant\\\ bit\\\ first\\\,\\\ planar\"\;";
Got message #149 from element "alsasink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #152 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Pipeline is PREROLLED ...
Got message #151 from element "pipeline0" (async-done): GstMessageAsyncDone, running-time=(guint64)18446744073709551615;
Setting pipeline to PLAYING ...
Got message #153 from element "pipeline0" (new-clock): GstMessageNewClock, clock=(GstClock)"\(GstAudioClock\)\ GstAudioSinkClock";
New clock: GstAudioSinkClock
Got message #155 from element "alsasink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #156 from element "audioconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #157 from element "jpegdec0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #158 from element "avdec_dsd_lsbf_planar0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #159 from element "multiqueue0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #160 from element "avdemux_dsf0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #161 from element "typefind" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #162 from element "decodebin0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #163 from element "filesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #164 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Code: Select all
ffmpeg
Code: Select all
-ar 48000