On 2012/04/06 12:52, Jurgen Kramer <[email protected]> wrote:
> The attached patch fixes playback for DSD-over-USB. Without this patch
> MPD uses a frame size of 2 (stereo files) while the actual needed frame
> size for the used output sample format is 8 (sample formats S24_P32 and
> S32).
No, 8 is the wrong value for in_frame_size. The problem is not a
wrong value for in_frame_size, but that in_frame_size is used where
this variable is not appropriate. Your patch trades one breakage for
another. The right approach would be to realize that two different
in_frame_size variables are needed: one for the buffer passed to
play(), and another one for the pcm_export result.
This checks shift8 twice:
> + if (ad->export.shift8) {
> + g_warning("Adjusting in_frame_size for DSD-over-USB output\n");
> + ad->in_frame_size = ad->export.shift8 ? 8 : ad->in_frame_size;
Why this warning message? Does the user care?
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Musicpd-dev-team mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team