From: Johannes Berg <johannes@sipsolutions.net>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>
Subject: Re: snd-aoa & rates
Date: Tue, 28 Mar 2006 14:15:00 +0200 [thread overview]
Message-ID: <1143548101.13615.30.camel@localhost> (raw)
In-Reply-To: <1143324396.6318.8.camel@localhost.localdomain>
[-- Attachment #1: Type: text/plain, Size: 2489 bytes --]
Hi,
> Current snd-aoa blew up on me at module load btw ... anyway, that's not
> my point here :)
Yeah, keywest programming. Need help, see other mail.
> In fact, I would have been even nastier and only exposed the
> intersection of the above so I don't have to bother about rates that
> digital won't support :) But I suppose that if you really want to
> support 8k or 96k it might make sense to support others.
>
> Also, for the sample sizes, same comment. Number of bits are not that
> useful. I'd rather have a bitmask of formats: 8 bits, 16 bits msb, 24
> bits msb, maybe lsb versions if supported, ac3, floating point if
> supported, etc... That or an array. I'm sure Alsa already have constants
> defined for those no ? I would then have the codec have a function
> returning the required clocks for a given bitrate/format combination...
>
> That is all suggestions of course, if you feel that what you do is
> better, then stick to it :)
Yeah I'm doing pretty much exactly this now :)
> Another thing I wouldn't have bothered with is again with whatever
> digital supports or doesn't ... rather that trying to prevent some rates
> from being useable by alsa based on a control that users will typically
> not have means to set at the right time (what about a sound server
> running all the time keeping the drier running, you want to block the
> digital switch ?) what I would do is just "mute" the digital output if a
> format is selected that isn't supported for digital. I would let the
> user chose the formats they want at all time, and only clamp the digital
> enable/disable switch. On this switch, btw, you should then remember the
> user setting: if the user switches it off, remember off. If the user
> switches it on, remember on, If the user sets it on but you have to mute
> it, remember that so that when the sample size/format changes again,
> unmute.
Ok. This behaviour can be done in the codec itself now, there's a
callback :)
> Sames goes for things that may be supported by the digital output and
> not analog (ac3 ?). In this case, mute the analog outputs. The mutes of
> these are controlled externally via the amps so it may be a bit
> complicated, unless you define specific messages to the core for that,
> or maybe just clamp the master volume down in the codec driver.
There have to be callbacks anyway for microphone-detect since that is a
switch on the onyx, not the external amps.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 793 bytes --]
next prev parent reply other threads:[~2006-03-28 12:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-25 22:06 snd-aoa & rates Benjamin Herrenschmidt
2006-03-28 12:15 ` Johannes Berg [this message]
2006-03-28 22:07 ` Benjamin Herrenschmidt
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=1143548101.13615.30.camel@localhost \
--to=johannes@sipsolutions.net \
--cc=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.