[alsa-devel] ALSA Mixer issue
Hi ,
I wanted to know that can we use multiple handlers for the same ALSA mixer ?
My use case is something like this .
I have two modules and having two different handlers for ALSA mixer. First module does some volume change , and I try to read the latest volume using my second handler ( of first second module) .
But I am not getting the most recent value in second handler ( the volume set by the first module ) so I feel there is some inconsistency when I use two handlers from two different modules in order to fetch volume information from the ALSA mixer.
On Fri, 30 Jul 2010, sudarshan bisht wrote:
Hi ,
I wanted to know that can we use multiple handlers for the same ALSA mixer ?
My use case is something like this .
I have two modules and having two different handlers for ALSA mixer. First module does some volume change , and I try to read the latest volume using my second handler ( of first second module) .
But I am not getting the most recent value in second handler ( the volume set by the first module ) so I feel there is some inconsistency when I use two handlers from two different modules in order to fetch volume information from the ALSA mixer.
You must sync the cached information using poll() or select() on file descriptors returned by snd_mixer_poll_descriptors_*() functions and call snd_mixer_handle_events() if any events are waiting.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
Thanks for the reply , I will try the same soon .
On Fri, Jul 30, 2010 at 7:00 PM, Jaroslav Kysela perex@perex.cz wrote:
On Fri, 30 Jul 2010, sudarshan bisht wrote:
Hi ,
I wanted to know that can we use multiple handlers for the same ALSA mixer ?
My use case is something like this .
I have two modules and having two different handlers for ALSA mixer. First module does some volume change , and I try to read the latest volume using my second handler ( of first second module) .
But I am not getting the most recent value in second handler ( the volume set by the first module ) so I feel there is some inconsistency when I use two handlers from two different modules in order to fetch volume information from the ALSA mixer.
You must sync the cached information using poll() or select() on file descriptors returned by snd_mixer_poll_descriptors_*() functions and call snd_mixer_handle_events() if any events are waiting.
Jaroslav
Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
Thanks Jaroslav ,
It works for me !!!
On Fri, Jul 30, 2010 at 5:36 PM, sudarshan bisht bisht.sudarshan@gmail.comwrote:
Thanks for the reply , I will try the same soon .
On Fri, Jul 30, 2010 at 7:00 PM, Jaroslav Kysela perex@perex.cz wrote:
On Fri, 30 Jul 2010, sudarshan bisht wrote:
Hi ,
I wanted to know that can we use multiple handlers for the same ALSA mixer ?
My use case is something like this .
I have two modules and having two different handlers for ALSA mixer. First module does some volume change , and I try to read the latest volume using my second handler ( of first second module) .
But I am not getting the most recent value in second handler ( the volume set by the first module ) so I feel there is some inconsistency when I use two handlers from two different modules in order to fetch volume information from the ALSA mixer.
You must sync the cached information using poll() or select() on file descriptors returned by snd_mixer_poll_descriptors_*() functions and call snd_mixer_handle_events() if any events are waiting.
Jaroslav
Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
-- Regards,
Sudarshan Bisht
Hi Jaroslav ,
It works fine in my Linux PC but when I try to run same on my target device , it gets into infinite loop and never comes out of poll function. Any suggestion to make it work on target device ?
On Tue, Aug 3, 2010 at 10:35 AM, sudarshan bisht bisht.sudarshan@gmail.comwrote:
Thanks Jaroslav ,
It works for me !!!
On Fri, Jul 30, 2010 at 5:36 PM, sudarshan bisht < bisht.sudarshan@gmail.com> wrote:
Thanks for the reply , I will try the same soon .
On Fri, Jul 30, 2010 at 7:00 PM, Jaroslav Kysela perex@perex.cz wrote:
On Fri, 30 Jul 2010, sudarshan bisht wrote:
Hi ,
I wanted to know that can we use multiple handlers for the same ALSA mixer ?
My use case is something like this .
I have two modules and having two different handlers for ALSA mixer. First module does some volume change , and I try to read the latest volume using my second handler ( of first second module) .
But I am not getting the most recent value in second handler ( the volume set by the first module ) so I feel there is some inconsistency when I use two handlers from two different modules in order to fetch volume information from the ALSA mixer.
You must sync the cached information using poll() or select() on file descriptors returned by snd_mixer_poll_descriptors_*() functions and call snd_mixer_handle_events() if any events are waiting.
Jaroslav
Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
-- Regards,
Sudarshan Bisht
-- Regards,
Sudarshan Bisht
participants (2)
-
Jaroslav Kysela
-
sudarshan bisht