[alsa-devel] Capture not working in MMAP mode with '-v'

Eero Nurkkala ext-eero.nurkkala at nokia.com
Mon Nov 9 09:12:31 CET 2009


On Mon, 2009-11-09 at 09:05 +0100, ext Aggarwal, Anuj wrote:
> > -----Original Message-----
> > From: Eero Nurkkala [mailto:ext-eero.nurkkala at nokia.com]
> > Sent: Monday, November 09, 2009 1:28 PM
> > To: Aggarwal, Anuj
> > Cc: alsa-devel at alsa-project.org
> > Subject: Re: [alsa-devel] Capture not working in MMAP mode with '-v'
> > 
> > On Mon, 2009-11-09 at 08:56 +0100, ext Aggarwal, Anuj wrote:
> > > > -----Original Message-----
> > > > From: Aggarwal, Anuj
> > > > Sent: Thursday, September 24, 2009 2:28 PM
> > > > To: alsa-devel at alsa-project.org
> > > > Subject: Capture not working in MMAP mode with '-v'
> > > >
> > > > Hi,
> > > >
> > > > When I try to capture audio in MMAP mode using the following
> > > > command, it works properly:
> > > >
> > > > arecord -f cd -d 10 -M rec01.wav
> > > >
> > > > However, if I specify '-v' along with the above command, it fails to
> > > > capture anything and prints log and returns immediately:
> > > >
> > > > Recording WAVE 'rec03.wav' : Signed 16 bit Little Endian,
> > > > Rate 44100 Hz, Stereo
> > > > Plug PCM: Hardware PCM card 0 'omap3evm' device 0 subdevice 0
> > > > Its setup is:
> > > >   stream       : CAPTURE
> > > >   access       : MMAP_INTERLEAVED
> > > >   format       : S16_LE
> > > >   subformat    : STD
> > > >   channels     : 2
> > > >   rate         : 44100
> > > >   exact rate   : 44100 (44100/1)
> > > >   msbits       : 16
> > > >   buffer_size  : 22052
> > > >   period_size  : 5513
> > > >   period_time  : 125011
> > > >   tstamp_mode  : NONE
> > > >   period_step  : 1
> > > >   avail_min    : 5513
> > > >   period_event : 0
> > > >   start_threshold  : 1
> > > >   stop_threshold   : 22052
> > > >   silence_threshold: 0
> > > >   silence_size : 0
> > > >   boundary     : 1445199872
> > > >   appl_ptr     : 0
> > > >   hw_ptr       : 0
> > > > mmap_area[0] = 0x4030e000,0,32 (16)
> > > > mmap_area[1] = 0x4030e000,16,32 (16)
> > > >
> > > > I have not observed this problem while playing audio, only
> > > > while capture this issue crops up.
> > > >
> > > > Any pointers?
> > > Any updates on this? We have observed similar problem on other
> > > platforms as well.
> > 
> > Yeah, it's an aplay bug, I've seen it & tracked down to aplay. It
> > actually makes the recording file very huge instantly on some systems.
> > Patch out the aplay when -M and -v are used =)
> Is there a new version of alsa-utils available which fixes this
> problem? Also, I have seen this problem only while using arecord,
> not aplay, though they both point to the same source file? Whats
> the reason for this?

As far as I know, nobody fixed it. Yeah, aplay = arecord, and it occurs
only with arecord to be more specific, and is present on all platforms
out there:

My workaround:

"
arecord is only buggy, if -M and -v flags are used, and
chunk_size goes to zero (which is perfectly OK).


This is the functional version of aplay:

<----------------------------->
        /* show mmap buffer arragment */
        if (mmap_flag && verbose) {

                const snd_pcm_channel_area_t *areas;
                snd_pcm_uframes_t offset;
                int i, chunk_prev = chunk_size;

                snd_pcm_avail_update(handle);
                err = snd_pcm_mmap_begin(handle, &areas, &offset, &chunk_size);
                if (err < 0) {
                        error("snd_pcm_mmap_begin problem: %s",
snd_strerror(err));
                        exit(EXIT_FAILURE);
                }
                for (i = 0; i < hwparams.channels; i++)
                        fprintf(stderr, "mmap_area[%i] = %p,%u,%u (%u)\n", i,
areas[i].addr, areas[i].first, areas[i].step,
snd_pcm_format_physical_width(hwparams.format));
                if (!chunk_size)
                        chunk_size = chunk_prev;
                /* not required, but for sure */
                snd_pcm_mmap_commit(handle, offset, 0);
        }
<----------------------------------_>
"

> > 
> > > >
> > > > Thanks & Regards,
> > > > Anuj Aggarwal
> > > >
> > > _______________________________________________
> > > Alsa-devel mailing list
> > > Alsa-devel at alsa-project.org
> > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > 
> 



More information about the Alsa-devel mailing list