From: Florian Bomers <Florian.Bomers@sun.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: ALSA devel <alsa-devel@lists.sourceforge.net>
Subject: Re: snd_pcm_hw_params_current() ?
Date: Tue, 08 Oct 2002 12:30:24 -0700 [thread overview]
Message-ID: <3DA33250.15311A94@sun.com> (raw)
In-Reply-To: s5hk7kt2mik.wl@alsa2.suse.de
the thing that looks like bad API design is that snd_pcm_sw_params_current()
exists and snd_pcm_hw_params_current() does not. I think it wouldn't even hurt
if snd_pcm_hw_params_t would be cached in the lib for that. Maybe in a later
ALSA revision, ALSA kernel support for that could be implemented.
Thanks,
Florian
Takashi Iwai wrote:
>
> At Fri, 04 Oct 2002 11:04:23 -0700,
> Florian Bomers wrote:
> >
> > Jaroslav Kysela wrote:
> > >
> > > On Thu, 3 Oct 2002, Florian Bomers wrote:
> > >
> > > > Hi,
> > > >
> > > > there is snd_pcm_sw_params_current() but not snd_pcm_hw_params_current(). How
> > > > can I get the current hardware configuration for a given snd_pcm_t handle ? Am I
> > > > missing something ?
> > >
> > > Hardware parameters must be configured from application all time.
> >
> > So that means that I need to cache hw params if I ever want to use them again ?
> > E.g. my app does this:
> >
> > open(), set hw params, set sw params
> > free hw params and sw params to save memory
> >
> > work with the device: start/write/stop/etc.
> >
> > When I now want to know the buffer size, I would like to obtain the current hw
> > params which I had set above to the pcm handle.
> >
> > I understand that I initially need to set hw params to a pcm handle before I
> > could get current hw params, but once I did that, especially in prepared/running
> > state, the device has well-defined hw params and why shouldn't people be allowed
> > to query them ?
>
> simply because the query function is not implemented on the kernel
> side :)
>
> or, we can add the code to alsa-lib to duplicate the hw_params /
> sw_params privately, and returns it via the query function.
> but it's not much different fromt keeping hw_params or sw_params
> record in the application by yourself.
>
> please note that on the kernel, hw_params and sw_params are not stored
> as they are but their members are copied to runtime struct. so if the
> query api is implemented, we need a function to convert from runtime
> to hw_params or sw_params.
>
> Takashi
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
--
Florian Bomers
Java Sound
Java Software/Sun Microsystems, Inc.
http://java.sun.com/products/java-media/sound/
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
prev parent reply other threads:[~2002-10-08 19:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-04 1:51 snd_pcm_hw_params_current() ? Florian Bomers
2002-10-04 12:01 ` Jaroslav Kysela
2002-10-04 18:04 ` Florian Bomers
2002-10-08 11:33 ` Takashi Iwai
2002-10-08 19:30 ` Florian Bomers [this message]
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=3DA33250.15311A94@sun.com \
--to=florian.bomers@sun.com \
--cc=alsa-devel@lists.sourceforge.net \
--cc=tiwai@suse.de \
/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