It's not really another format it's just a way to send DSD using an existing PCM link, imo this 'packing' code should really be in the output plugin as the DAC hardware manufactures come up with their own way to send DSD to their hardware. We currently have the dCS way of packing but there will be other ways of packing DSD into PCM in the near future as well, audio_format doesn't seem to be the right place to specify those. Looking at Steinbergs ASIO DSD implementation you basically see three DSD formats: 1-bit, 8-bit MSB and 8-bit LSB DSD. 1-bit is really inefficient and I don't see it ever being used, the others can be supported with what I proposed.
> The MPD core asks the output plugin to open with a certain audio... Thank you for that explanation! Now I understand it's push instead of request. I now also understand you prefer to have all the conversions take place within the convert filter, and to me the conversion from DSD to PCM for ex. is a perfect example that should take place in the convert filter. The packing (for me it's still not a real conversion only shifting some bytes around) is hardware vendor specific and imo should actually be in ALSA output plugin. The hardware vendors 'invented' this packing scheme as there is no official DSD support within Linux (ALSA), OS X, etc.. and currently the only official way to send DSD to a DAC is by using Windows ASIO.. I actually believe native DSD support within the OS will probably never happen. I propose we add user config support in the ALSA driver for these different DSD packing schemas, and now when I think about it, this setting could potentially damage ones speakers. So shouldn't the end-user should be responsible for telling MPD how their DAC wants native DSD packed? (it should convert to PCM by default). I hope I changed your mind.. Let me know what you think.. ----- Original Message ----- From: Max Kellermann <m...@duempel.org> To: Bobby Beever <bobby.bee...@yahoo.com> Cc: "musicpd-dev-team@lists.sourceforge.net" <musicpd-dev-team@lists.sourceforge.net> Sent: Saturday, February 4, 2012 2:02 PM Subject: Re: [Musicpd-dev-team] [PATCH 0/5] Add new decoder for outputting DSD data to 'DSD-over-USB' spec. - info On 2012/02/04 13:54, Bobby Beever <bobby.bee...@yahoo.com> wrote: > Shouldn't all the audio_output_plugins (maybe even filters) specify if they > are able to consume PCM and or DSD? IMO. the DSD inside PCM packing should > take place in the output plugin not somewhere else.. I thought it is another format, just like SAMPLE_FORMAT_S24 and SAMPLE_FORMAT_S24_P32 are distinct formats - even if it is just another representation of the same data. There is no need for output plugins to declare their compatibility. The MPD core asks the output plugin to open with a certain audio format; if the plugin does not support this format, then it will edit the audio_format for the next best one it understands. Then the MPD core will convert the data automatically (more specifically: it will ask convert_filter_plugin to do it). If it suports DSD-inside-PCM, and gets asked to use "true" DSD, it will just ask the MPD core to send DSD-inside-PCM instead. I'd like to make the plugins as simple as possible. Max ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team