From: Colin Guthrie <gmane@colin.guthr.ie>
To: alsa-devel@alsa-project.org
Subject: Re: Mixer volume/decibel mapping
Date: Sat, 29 May 2010 19:46:00 +0100 [thread overview]
Message-ID: <htrnci$n76$1@dough.gmane.org> (raw)
In-Reply-To: <AANLkTil5vvUPaapxjXgbqBsMS7oEZcrUW75DTMk_WVcm@mail.gmail.com>
'Twas brillig, and Raymond Yau at 29/05/10 02:57 did gyre and gimble:
> 2010/5/25 James Courtier-Dutton <james.dutton@gmail.com>
>
>>
>> Could this maybe explain why pulseaudio was having such problems with
>> alsa with regards to gain controls????
>>
>
>
> Did you answer PA 's developer 's question in FOMS
>
> http://thread.gmane.org/gmane.linux.alsa.devel/50417/focus=50555
>
> what is the answer of this question ?
What question? I'm not sure I follow what you're asking here...
> - That snd_pcm_sw_params_set_start_threshold(.. , (snd_pcm_uframes_t) -1))
> disables automatic stopping on underrun.
>
> snd_pcm_uframes_t is unsigned and in snd_pcm_write_areas() pcm/pcm.c
>
> start_threshold seem used as a signed number
>
> is this a special case , what is the difference between 1 and -1 ?
>
> if (state == SND_PCM_STATE_PREPARED) {
> snd_pcm_sframes_t hw_avail = pcm->buffer_size - avail;
> hw_avail += frames;
> /* some plugins might automatically start the stream */
> state = snd_pcm_state(pcm);
> if (state == SND_PCM_STATE_PREPARED &&
> hw_avail >= (snd_pcm_sframes_t) pcm->start_threshold) {
> err = snd_pcm_start(pcm);
> if (err < 0)
> goto _end;
> }
> }
It seems to be used as a signed value there, but I'm not sure if the
unsigned -1 case is treated differently in some capacity prior to
reaching this code.
The reason -1 is used is just a shortcut to get the maximum value of an
unsigned variable. I presume this "as big as possible" case is dealt
with appropriately.
I'm absolutely green when it comes to alsa lib API and programming, so
you'd be better asking Lennart directly about this.
Col
--
Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/
Day Job:
Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
Mandriva Linux Contributor [http://www.mandriva.com/]
PulseAudio Hacker [http://www.pulseaudio.org/]
Trac Hacker [http://trac.edgewall.org/]
next prev parent reply other threads:[~2010-05-29 18:45 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 16:34 Mixer volume/decibel mapping Sebastian H.
2010-05-20 7:34 ` Clemens Ladisch
2010-05-20 8:01 ` James Courtier-Dutton
2010-05-20 8:53 ` Raymond Yau
2010-05-20 9:41 ` Sebastian H.
2010-05-20 16:13 ` James Courtier-Dutton
2010-05-21 0:35 ` Raymond Yau
2010-05-21 1:30 ` Raymond Yau
2010-05-21 8:18 ` Sebastian H.
2010-06-07 3:37 ` Raymond Yau
2010-06-07 9:19 ` Sebastian H.
2010-06-08 1:03 ` Raymond Yau
2010-06-08 6:02 ` Sebastian Holtermann
2010-06-08 15:31 ` Raymond Yau
2010-06-09 10:26 ` Sebastian H.
2010-06-08 6:08 ` Sebastian H.
2010-06-09 5:39 ` Raymond Yau
2010-06-09 7:34 ` Sebastian H.
2010-06-10 0:08 ` Raymond Yau
2010-06-09 5:55 ` Raymond Yau
2010-06-08 2:23 ` Raymond Yau
2010-05-21 6:35 ` Clemens Ladisch
2010-05-21 6:51 ` Peter Ujfalusi
2010-05-21 9:56 ` Clemens Ladisch
2010-05-24 2:52 ` Raymond Yau
2010-05-25 8:38 ` Clemens Ladisch
2010-05-25 8:43 ` James Courtier-Dutton
2010-05-25 8:49 ` Clemens Ladisch
2010-05-25 23:24 ` Raymond Yau
2010-05-27 13:32 ` Colin Guthrie
2010-05-29 3:54 ` Raymond Yau
2010-05-29 1:57 ` Raymond Yau
2010-05-29 18:46 ` Colin Guthrie [this message]
2010-06-04 23:46 ` Raymond Yau
[not found] ` <AANLkTik7mD1DAVWkOwM7sNu0EfgGApvzX9WRXWBOO4PI@mail.gmail.com>
2010-05-25 8:45 ` Clemens Ladisch
2010-05-25 13:51 ` Raymond Yau
2010-05-25 14:36 ` Clemens Ladisch
2010-05-25 23:00 ` Raymond Yau
2010-05-27 0:20 ` Raymond Yau
2010-05-28 13:04 ` Raymond Yau
2010-05-28 14:10 ` Clemens Ladisch
2010-05-29 1:31 ` Raymond Yau
2010-05-21 13:16 ` James Courtier-Dutton
2010-05-25 8:21 ` Clemens Ladisch
2010-06-09 6:19 ` Raymond Yau
2010-05-22 9:24 ` Raymond Yau
2010-05-20 9:20 ` Sebastian H.
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='htrnci$n76$1@dough.gmane.org' \
--to=gmane@colin.guthr.ie \
--cc=alsa-devel@alsa-project.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 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).