On 2012/02/03 16:17, Jurgen Kramer <gtmkra...@xs4all.nl> wrote:
> It output either 24 or 32-bit sample format packed in 32-bits. The
> 24-bit format could be removed as most newer devices support 32-bit
> sample formats.

But these samples are *not* 24 or 32 bit.  It is a strange protocol
that abuses PCM samples to embed 1 bit samples.  But there is no
one-to-one relation between those faked PCM samples and the actual DSD
samples.  Therefore, you should not declare it as PCM.

> I think you misunderstand the DSD-over-PCM format.

Why do you think so?

> You can absolutely can not do anything to the DSD data. It has to be
> sent bit perfect to the receiving device.

Which is exactly my point.  And it's why I don't like how you
implemented the decoder, for the reasons stated in my previous mail.

> > Your way of splitting patches is useless.  Your last patch is the one
> > that adds the new source files to the Makefile.am, which means none of
> > the patches prior to that are useful - they don't add anything, except
> > for source files that are not being used!
> 
> Thanks, I am sorry but your manor of expressing yourself feels rather
> rude. I am just a hobbyist trying to create some useful code.

Agree or disagree with criticism, but don't take it personal.
I'm a hobbyist, too - MPD is my hobby.

> The patches are not meant be added individually, you would not have a
> working decoder. I split them as per request on the mpd patching
> guidelines so they easily viewed independently.

Problem is, your patches cannot be viewed independently.  Each of the
patches depends on all of the others.  None of this is incremental.

An example of how I would write patches for the feature:

- add a new audio format for DSD samples

- implement conversion from DSD to PCM in the MPD's PCM conversion
  library, calling the dsd2pcm code that already exists

- remove dsd2pcm calls from the existing dsdiff decoder plugin, pass
  DSD to decoder_data()

- add new audio format for "DSD inside PCM"

- implement conversion from DSD to this "DSD inside PCM" format

- add support for "DSD inside PCM" to an output plugin

- now's the time to add support for more tags or seeking to the dsdiff
  decoder plugin

Each of the points above is an incremental patch that adds something
useful.

This works without duplicating code and without a second decoder
plugin.  It "just works", even when you have multiple output plugins.

Cross-fading and software volume won't work (unless you implement it
in the PCM library), but at least it will not send broken noise to the
output.

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

Reply via email to