From: "Iain Sandoe" <iain@sandoe.co.uk>
To: Henry Worth <haworth@ncal.verio.com>
Cc: Takashi Oe <toe@unlserve.unl.edu>,
linuxppc-dev@lists.linuxppc.org,
matthias pfisterer <matthias.pfisterer@gmx.de>
Subject: Re: CDDA playback on Pismo (and other newer models)
Date: Mon, 07 Aug 2000 20:35:52 +0100 [thread overview]
Message-ID: <200008071935.UAA06527@hyperion.valhalla.net> (raw)
n Mon, Aug 7, 2000, Henry Worth wrote:
> On Mon, 7 Aug 2000, Iain Sandoe wrote:
>
>> On Mon, Aug 7, 2000, Henry Worth wrote:
>> >
>> > The esd daemon sets the output to native endiness, so on an x86
>> > everyone is little endian and all should be well, but I haven't
>> > tried it.
>>
>> so long as the last thing in the chain (i.e. the one that talks to /dev/dsp)
>> is prepared to:
>>
>> *either* re-set the AFMT of /dev/dsp
>> (depending on the format of the stream presented to it)
>> *or* leave /dev/dsp AFMT at one setting
>> AND do the necessary conversions
>>
>> everything will be OK.
>
> In the case of the esd daemon it does the ioctls to set the format
> to signed native endiness, and they even do some error checking.
OK. so the facilities of the driver are irrelevant when using esd.
You must make sure that everything you present to esd is native-endian and
signed :-)
which is what I meant by other solutions .... below...
>
>> Of course, there are other solutions - but these would depend on each app
>> "knowing" that the server only accepts input in format "XXX" which seems
>> broken to me... (although it has a certain simplicity - if there's a way of
>> telling the client apps that this is the case).
>
> It looks like esd is going for simplicity. Since they are mixing
> digital sound streams to integrate sound sources on the desktop,
> they ultimately need to get all the incoming data streams into native
> endiness to do the mixing.
Well, I suppose, (being picky :-) it doesn't have to be the native-endian -
just the *same* for all the items to be mixed...
>I assume they just chose to put the
> burden on the clients (I'll be charitable and not assume LE blindness
> and that the setting to native endiness was a quick hack when the
> endiness issue was brought to their attention). They would also
> need common sample rates, but I haven't looked into how much the
> daemon will do to up/down-convert, but expect that is limited as
> well.
In the case of a mixing deamon like this it is OK, (as I was driving at
above) - *providing* that the clients have some way of "knowing" the
requirement on their outputs.
You've specified it - "all input to esd must be native-endian".
So you must supply the conversion prior to sending it to esd.
> I'll put together a patch for the XMMS esd plugin, but I
> need to look into portability issues for the endiness test and
> optimal byte swapping, any suggestions? It could also
> use an unsigned->signed conversion.
I'm not sure you can "fix" this - it seems to be a design decision - which
may make that plug unsuitable for your application - but it is still
notionally 'correct' in terms of its own implementation.
Iain.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next reply other threads:[~2000-08-07 19:35 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-08-07 19:35 Iain Sandoe [this message]
2000-08-07 21:49 ` CDDA playback on Pismo (and other newer models) Henry Worth
-- strict thread matches above, loose matches on Subject: below --
2000-08-08 22:19 Henry Worth
2000-08-07 9:03 Iain Sandoe
2000-08-07 19:18 ` Henry Worth
2000-08-08 5:02 ` Takashi Oe
2000-08-08 7:01 ` Henry Worth
2000-08-06 21:07 Henry Worth
2000-08-06 9:38 Iain Sandoe
2000-08-06 13:26 ` Takashi Oe
2000-08-06 18:36 ` Henry Worth
2000-08-07 1:25 ` Takashi Oe
2000-08-07 5:02 ` Henry Worth
2000-08-04 13:05 Iain Sandoe
2000-08-04 12:57 Benjamin Herrenschmidt
2000-08-04 9:16 Iain Sandoe
2000-08-04 20:40 ` Henry Worth
2000-08-04 21:03 ` Benjamin Herrenschmidt
2000-08-06 8:09 ` Henry Worth
2000-08-04 5:18 Henry Worth
2000-08-04 9:50 ` Michel Dänzer
2000-08-04 15:56 ` Nelson Abramson
2000-08-04 19:45 ` Henry Worth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200008071935.UAA06527@hyperion.valhalla.net \
--to=iain@sandoe.co.uk \
--cc=haworth@ncal.verio.com \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=matthias.pfisterer@gmx.de \
--cc=toe@unlserve.unl.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).