Monday, November 10, 2008

Cross Compilling ALSA 1.0.18 lib and utils for ARM

Building ALSA-LIB
Steps 1) ./configure CC=arm-linux-gcc --host=arm-linux -build=i686-pc-linux-gnu --disable-python

I am building for arm
Step 2) make
Step 3) make install DESTDIR=/home/arunks/arun_bins

Building ALSA-Utils
Step 1)./configure CC=arm-linux-gcc --host=arm-linux -build=i686-pc-linux-gnu --with-alsa-prefix=/home/arunks/alsa_sep20/arun_bins/usr/lib/ --with-alsa-inc-prefix=/home/arunks/alsa_sep20/arun_bins/usr/include --disable-alsatest --disable-alsamixer --disable-largefile

Step 2)make
Step 3) make install DESTDIR=/home/arunks/arun_bins

This will install Alsa lib an Alsa utill at /home/arunks/arun_bins.
Now you may copy it to your file system and enjoy playing music.

Friday, November 7, 2008

Poll() or Select() system call

Poll_wait()

When ever an application call the select or poll with an fdset,the kernel inovkes the poll method of all files referenced by the system call, passing the same poll_table to each of them. So all the fops->poll will get called. poll_wait call will add the wait queue to the common poll_table. If none of the drivers being polled indicates that I/O can occur without blocking, the poll call simply sleeps until one of the wait queues it is on wakes it up. When one of the wait queue wakes up, the kernel call the poll() function concerning that driver again.