WavPack plugin does not support DSD
Describe your issue
WavPack supports compression of DSD (DSF, etc.) files since version 5.0. GStreamer individually supports playback of both WavPack files and DSD files via their respective plugins, but does not (as far as I can tell) support WavPack-compressed DSD files. It would be great to add support for this so DSD files can be both compressed and tagged (DSF format supports tagging, but it is not compressed).
Expected Behavior
Playing a WavPack file w/ embedded DSD audio should work.
Observed Behavior
Playback fails with "FAILED: Could not determine type of stream."
Setup
- Linux
- Computer
- 1.20.6
- Playback via Strawberry w/ gstreamer backend, but gst-typefind-1.0 returns the same message
Steps to reproduce the bug
- Download example DSF/DSD file (e.g., "Rodeo on a Ridge" from https://www.oppodigital.com/hra/dsd-by-davidelias.aspx)
- Compress the file with wavpack:
wavpack 07\ -\ David\ Elias\ -\ Acoustic\ Trio\ -\ Rodeo\ On\ A\ Ridge\ \(DSD64\).dsf
- Compress any PCM/WAV file with wavpack for comparison
- Verify DSF file plays successfully with, e.g., Strawberry
- Verify PCM WavPack file plays successfully
- Verify DSD WavPack file fails to play
- Run
gst-typefind-1.0
against the PCM WavPack file - note it's detected as audio/x-wavpack - Run
gst-typefind-1.0
against the DSD WavPack file - in the Rodeo on a Ridge example, it returns video/x-h263. In other tests I've seen "FAILED: Could not determine type of stream." and (if the file has been tagged) application/x-apetag.
How reproducible is the bug?
Always
Screenshots if relevant
Solutions you have tried
The DSD-compressed WavPack file is playble by both ffmpeg (ffplay) and mpv. It's also playable with Strawberry if I switch it to use VLC as its backend. This leads me to conclude the limitation is with the GStreamer plugin.
Related non-duplicate issues
Additional Information
I'm not especially familiar with GStreamer, so apologies if the above details (ie., using gst-typefind-1.0) are not adequate. Please let me know what additional info would help and I'm happy to provide.
Thanks.