Have tested two usb audio mic devices.
At the time of initialization, SNDRV_MIXER_OSS_PRESENT_PVOLUME bit is not
set for MIC (slot 7).
So, the same should not be checked when an application tries to do gain
control
for audio recording devices. Just check
slot->present for SNDRV_MIXER_OSS_PRESENT_CVOLUME independently.
Verified with a simple application which opens /dev/dsp for recording and
/dev/mixer for volume control.
Signed-off-by: Viral Mehta <viral.mehta(a)einfochips.com>
---
sound/core/oss/mixer_oss.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
index 4690b8b..919c7eb 100644
--- a/sound/core/oss/mixer_oss.c
+++ b/sound/core/oss/mixer_oss.c
@@ -690,7 +690,7 @@ static int snd_mixer_oss_put_volume1(struct
snd_mixer_oss_file *fmixer,
if (slot->present & SNDRV_MIXER_OSS_PRESENT_PVOLUME) {
snd_mixer_oss_put_volume1_vol(fmixer, pslot,
slot->numid[SNDRV_MIXER_OSS_ITEM_PVOLUME], left, right);
- if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME)
+ } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME) {
snd_mixer_oss_put_volume1_vol(fmixer, pslot,
slot->numid[SNDRV_MIXER_OSS_ITEM_CVOLUME], left, right);
} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GVOLUME) {
snd_mixer_oss_put_volume1_vol(fmixer, pslot,
slot->numid[SNDRV_MIXER_OSS_ITEM_GVOLUME], left, right);
--
1.5.3.3
--
_____________________________________________________________________
Disclaimer: This e-mail message and all attachments transmitted with it
are intended solely for the use of the addressee and may contain legally
privileged and confidential information. If the reader of this message
is not the intended recipient, or an employee or agent responsible for
delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution, copying, or other use of
this message or its attachments is strictly prohibited. If you have
received this message in error, please notify the sender immediately by
replying to this message and please delete it from your computer. Any
views expressed in this message are those of the individual sender
unless otherwise stated.Company has taken enough precautions to prevent
the spread of viruses. However the company accepts no liability for any
damage caused by any virus transmitted by this email.
__________________________________________________________________________
Hello all,
I would like to know feedback here if possible. Or is it a wrong place
to submit patches which I "think" fixes some issue in oss simulation layer ?
> Hi,
>
> I am trying to do gain control while RECORDING for my Audio Mic device.
>
> My application opens /dev/mixer device and calls ioctl(fdmixer,
> MIXER_WRITE(SOUND_MIXER_MIC), ...)
>
> But, the call fails. It traces to sound/core/oss/mixer_oss.c file and
> snd_mixer_oss_put_volume1() function.
> It never falls in "if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME)"
> as condition "if (slot->present & SNDRV_MIXER_OSS_PRESENT_PVOLUME) "
> comes as false.
>
> I think there is a bug in kernel and I think it should be like as below,
>
> --- a/sound/core/oss/mixer_oss.c 2008-12-03 13:24:02.000000000 +0530
> +++ b/sound/core/oss/mixer_oss.c 2009-03-09 16:22:06.548766896 +0530
> @@ -688,7 +688,7 @@ static int snd_mixer_oss_put_volume1(str
>
> if (slot->present & SNDRV_MIXER_OSS_PRESENT_PVOLUME) {
> snd_mixer_oss_put_volume1_vol(fmixer, pslot,
> slot->numid[SNDRV_MIXER_OSS_ITEM_PVOLUME], left, right);
> - if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME)
> + } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME) {
> snd_mixer_oss_put_volume1_vol(fmixer, pslot,
> slot->numid[SNDRV_MIXER_OSS_ITEM_CVOLUME], left, right);
> } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GVOLUME) {
> snd_mixer_oss_put_volume1_vol(fmixer, pslot,
> slot->numid[SNDRV_MIXER_OSS_ITEM_GVOLUME], left, right);
>
>
> Thanks,
> Viral
>
>
>
>
>
>
--
_____________________________________________________________________
Disclaimer: This e-mail message and all attachments transmitted with it
are intended solely for the use of the addressee and may contain legally
privileged and confidential information. If the reader of this message
is not the intended recipient, or an employee or agent responsible for
delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution, copying, or other use of
this message or its attachments is strictly prohibited. If you have
received this message in error, please notify the sender immediately by
replying to this message and please delete it from your computer. Any
views expressed in this message are those of the individual sender
unless otherwise stated.Company has taken enough precautions to prevent
the spread of viruses. However the company accepts no liability for any
damage caused by any virus transmitted by this email.
__________________________________________________________________________
Hello all,
Some good news: there definitely will be the Linux
Sound Night during LAC2009. At the moment there are
two possible locations, the choice has not yet been
made. One is a nice bar located in a new industrial
area outside the center - they only have one resident
near (100m) but we may still have to watch the SPL
because of that single resident. The other is a rather
sleezy but otherwise OK place in a post-industrial
area, here nobody will complain whatever we do.
Both places (in particular the second) are a bit to
far from the center for an easy walk, but transport
will be organised.
I'd like all who proposed to play at the LSN to
confirm their presence (drop me a line), and there
is still room for more.
Wednesday the 15th (day before the conference) there
will be the pizza evening for the early arrivals.
This will be at 'Alfonso' (no relation) on Via Emilia
Est, according to some the best pizzeria in Parma.
It's also near the Auditorium Paganini making it a
good place for a pre-concert pizza. Please let me
know if you will be there as I'll have to book the
places. Sunday evening we'll have the unofficial
LAC2009 dinner.
At the moment I'd like everyone who plans to come
to LAC2009 to register so we can have an idea of
the size of the crowds to expect, and of the number
of proceedings to print.
<http://lac.linuxaudio.org/2009>
See you all in Parma,
--
FA
On Mon, 9 Mar 2009 11:09:34 -0700, Mark Knecht <markknecht(a)gmail.com>
wrote:
> In general I agree with what I understand about linuxaudio.org and
> your point of view.
>
> Probably I need to make a more nuanced distinction between
> linuxaudio.org and linux-audio-user(a)lists.linuxaudio.org. It's likely
> not true for you running all this stuff but from the outside I see the
> two as very intertwined. If the business of linuxaudio.org were to
> become a large part of what is discussed on this list, or the list was
> to start pushing folks to become Debian based as a policy, then I'd be
> disappointed. I think it's best if this list is distro neutral. What
> linuxaudio.org does is a different thing.
Well, hello again, this time from the list-admin part of me.
I would like to clarify this for those who might be here since recently and
who might not know of the history of our 4 favorite lists. The hosting at
linuxaudio.org is relatively recent, and was chosen in an effort to make
things look a little more organized. Our lists are kindly hosted there by
the Virginia Tech Department of Music and DISIS. They were previously
hosted at the University of Columbia (at the time there were 3 lists ;
linux-audio-tuning did not yet exist). The first list created was, if I'm
not mistaken, linux-audio-dev, a long time ago, in a galaxy far far away
(1998 ?).
While our lists are hosted at linuxaudio.org, they do not belong to anyone
but the whole community that make them as lively and entertaining as they
are. Moreover, they cannot be in any way related/associated/linked/whatever
to one particular distribution. So feel free to talk about any distro you
feel is good for audio, even slackware if you wish :p
And one last thing, just so everything is crystal clear, since these list
belong to everyone, you are also entitled to fire the list admin (that
would be me) at anytime if I start being really bad at that ;)
Kind regards,
Marc-Olivier Barre,
The guy who gets to read a lot of spam to keep those lists clean.
> How does that effect me for instance as a Gentoo user? Please consider
> whether LAU would still be a place of value to those of us that aren't
> Debian/Ubuntu based.
>
> I don't mind the occasional distro specific conversation. I wouldn't
> want to see that ever become more than 1% of what's discussed on a
> list like this.
>
> - Mark
Ideally, we would also want to have Gentoo involved in linuxaudio.org.
However please note that I cannot (nor do I want to) coerce anyone to join
linuxaudio.org. Yet, here we are with a potential opportunity to have Debian
join us and my thoughts are we should not pass this up. I can only hope that
Gentoo will join us as well--but that is not my call...
Best wishes,
Ico
Michael, Paul has answered you on jack-devel. See below.
Note: I'm cross-posting this mail to linux-audio-dev, since Michael has recently
subscribed to it. At least, we should be able to discuss together in there.
Paul Davis wrote :
> I have no idea how any of you have kept this conversation going when one
> of the main protagonists is not even subscribed to one of the two
> mailing lists, and i suspect that one of the others isn't subscribed to
> the other. perhaps the FFmpeg-devel list doesn't require membership.
>
> anyway, i've finally had enough of reading Michael's stuff about
> buffers, timing and so forth and felt obligated to comment.
>
> michael - i would politely request that you stop shooting off at the
> mouth about stuff that the JACK community has been dealing with for more
> than 9 years.
>
> you do not need to write your own ring buffer code - JACK's is LGPL'ed
> and you are free (and probably even recommended) to copy it.
> furthermore, you would be very foolish to imagine (especially based on
> your incredibly naive comments about uint8_t) that you understand the
> subtleties of these buffers. the JACK community (and a couple of other
> exclusively audio-focused development groups) have been working with
> this buffer design for many, many years, and we are absolutely confident
> that our buffers are (a) SMP/multi-core safe (b) as efficient as they
> can be without using assembler. you should also be aware that there are
> very good arguments for the current structure of the ringbuffer code,
> which explicitly does NOT use any memory barriers. if you don't
> understand why it works without them, then you should probably refrain
> from commenting on the design of these buffers at all.
>
>
¿Podrian ustedes instalarme su ssistema de audio a travez de internet?
He tratado en muchas ocasiones de comunicarme con Ubuntu es, Pero
ellos no reconocen este e-mail ni mi password.
Les agradrzco.
--
Agustin Ruiz Gamez
Hi,
I am trying to do gain control while RECORDING for my Audio Mic device.
My application opens /dev/mixer device and calls ioctl(fdmixer,
MIXER_WRITE(SOUND_MIXER_MIC), ...)
But, the call fails. It traces to sound/core/oss/mixer_oss.c file and
snd_mixer_oss_put_volume1() function.
It never falls in "if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME)"
as condition "if (slot->present & SNDRV_MIXER_OSS_PRESENT_PVOLUME) "
comes as false.
I think there is a bug in kernel and I think it should be like as below,
--- sound/core/oss/mixer_oss.c 2008-12-03 13:24:02.000000000 +0530
+++ sound/core/oss/mixer_oss.c 2009-03-09 16:22:06.548766896 +0530
@@ -688,7 +688,7 @@ static int snd_mixer_oss_put_volume1(str
if (slot->present & SNDRV_MIXER_OSS_PRESENT_PVOLUME) {
snd_mixer_oss_put_volume1_vol(fmixer, pslot,
slot->numid[SNDRV_MIXER_OSS_ITEM_PVOLUME], left, right);
- if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME)
+ } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CVOLUME) {
snd_mixer_oss_put_volume1_vol(fmixer, pslot,
slot->numid[SNDRV_MIXER_OSS_ITEM_CVOLUME], left, right);
} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GVOLUME) {
snd_mixer_oss_put_volume1_vol(fmixer, pslot,
slot->numid[SNDRV_MIXER_OSS_ITEM_GVOLUME], left, right);
Thanks,
Viral
--
_____________________________________________________________________
Disclaimer: This e-mail message and all attachments transmitted with it
are intended solely for the use of the addressee and may contain legally
privileged and confidential information. If the reader of this message
is not the intended recipient, or an employee or agent responsible for
delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution, copying, or other use of
this message or its attachments is strictly prohibited. If you have
received this message in error, please notify the sender immediately by
replying to this message and please delete it from your computer. Any
views expressed in this message are those of the individual sender
unless otherwise stated.Company has taken enough precautions to prevent
the spread of viruses. However the company accepts no liability for any
damage caused by any virus transmitted by this email.
__________________________________________________________________________
Just a quick note here for those who may want to 'RT' their Debian Lenny,
and the sheer enjoyment that will no doubt bring.
Using the Kernel for Dummies debian build system (thanks fellas), Alsa
1.0.19, no OSS, vanilla 2.6.26, and Ingo's patches, all went reasonably
well. (32bit)
*****PLEASE NOTE, no women, children, animals, hungarian polka enthusiasts,
or those poor wretched souls using Vista, were harmed during this
build....*****
Booted up ok, but got a kernel failure whilst cranking up my multi app
script.
Narrowed it down to Linuxsampler.
When i removed LS, and Libgig, then reinstalled, the failure went away.
All other apps played ok, with no probs.
I can only guess that my compile options needed renewing, from generic to
RT, but no real hardship, and it didn't take long.
I'm passing this on, in case anyone else builds an debian RT kernel, and
gets a kernel failure notice, once the OS is up and running, and
linuxsampler is started.
Alex.
p.s. Have to say here, that debian 5 is excellent. Even with my clumsy
machinations with the RT build, it just keeps going, and doesn't do silly
stuff when assailed with multiple 'user errors.'
Built like a tank.
:)
--
Parchment Studios (It started as a joke...)
Estoy muy agradado por su preocupacion por mi problema de audio, El
problema mio es que sus implementaciones son en idioma ingles y yo
vivo en Venezuela donde hablamos español y no puedo traducior
completamente los terminos alli explicados. Les agradeceria si ustedes
tienen alguna version en español, me lo hicieran llegar.
--
Agustin Ruiz Gamez