Comments (4)
I've added support for DSF and DSDIFF now, updated the builtin taglib to support it and added them as accepted filetypes and made the tagreader read them.
I installed gstreamer from git, you need gstreamer, gstreamer-plugins-base and gst-libav, I also installed gst-plugins-good.
I have tested playing some of the files from: https://www.oppodigital.com/hra/dsd-by-davidelias.aspx
It works great, except gstreamer makes the artwork embedded in the file appear in a large outside window (actually maybe it is kinda cool). There is probably a way to disable it.
Reading embedded artwork needs to be implemented too, it does not work
But atleast it works for now.
from strawberry.
Actually the limitation is both in taglib and the engines. Strawberry only recognize files that taglib can read as audio, and taglib does not support DSD yet. There is a PR for it here: taglib/taglib#740
As for the engine, neither gstreamer or vlc support it, but I'm unsure about xine.
In the long run I plan to have ALSA directly as an option for engine, and support open lossless formats like FLAC/WavPack, then it might also be possible to also add support for DSD. I think deadbeef is doing it.
This is how far I got when trying to play DSD with xine, I modified the code to bypass taglib.
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
[dsf @ 0x3085240] Estimating duration from bitrate, this may be inaccurate
Input #0, dsf, from 'file:///home/jonas/Downloads/2L-139_stereo_DSF_2822k_1b_01.dsf':
Metadata:
encoded_by : Merging Technologies Album Publishing
comment : Generated by Merging Technologies Album Publishing
: Label Code: 2L
title : Chromatic Fantasia and Fugue in D minor, BWV 903: Fantasia
artist : Christian Grøvlen
album_artist : Christian Grøvlen
composer : Johann Sebastian Bach
album : BACH - Inside Polyphony
track : 1/30
disc : 1
TSRC : NOMPP1707010
: 7041888523024
publisher : 2L
date : 2017
genre : Classical
Duration: 00:06:55.09, bitrate: 5644 kb/s
Stream #0:0: Audio: dsd_lsbf_planar, 352800 Hz, stereo, fltp, 5644 kb/s
Stream #0:1: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1200x1200, 90k tbr, 90k tbn, 90k tbc
Metadata:
comment : Cover (front)
__logging_message__17:29:08.833 WARN unknown "There is no audio channel!"
from strawberry.
Looks like DSF is already coming to gstreamer in version 1.15.1
https://bugzilla.gnome.org/show_bug.cgi?id=721186
So this might not be so far off, gstreamer is released pretty frequently.
I already have taglib builtin so I can possible just add the PR to it.
As for xine, I think it might just read the metadata, and not actually have codec to play it, but there is so little info on xine.
from strawberry.
Thanks for the comments, I've see the support is coming soon in gstreamer, a good news !
Soon in Strawberry ! ;)
from strawberry.
Related Issues (20)
- FLAC files won't play HOT 1
- Strawberry not shows metadata of song after connecting disconnected disk with songs HOT 1
- Scrollwheel not working in Strawberry HOT 1
- Strawberry creating duplicate tracks when using "move to collection" HOT 8
- thanks but: debian 12, add-apt-repository ppa:jonaski/strawberry fails HOT 2
- Language changed on its own, from en to cz_CN HOT 2
- thanks for strawberry - happy 2024 - stops playback when encountere like DRM protected wmas HOT 2
- [gnome] notification controlls don't show album art HOT 4
- Impossible to sort music by Original Year HOT 3
- MacOS 1.0.22 crashes trying to add to collection or add new smart playlist HOT 3
- Add support for Synchronised Lyrics HOT 3
- Connected device stuck updating HOT 3
- Strawberry skips a number of songs after shuffling the current playlist
- Implement Rich Presence HOT 5
- Add Search Filter Option. HOT 3
- Please add the GPG signature and/or checksum file to the latest version. HOT 1
- Ctrl+C cause Crash
- Pressing Enter with a multi-section HOT 1
- MTP doesn't copy some files! HOT 4
- Flatpak Metadata updating HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strawberry.