[alsa-devel] commit bd5389278c96f585afcac4058420e4f3ac201d2a introduce big problem
    Scott Jiang 
    scott.jiang.linux at gmail.com
       
    Tue Nov  8 10:16:33 CET 2011
    
    
  
Hi Takash,
commit bd5389278c96f585afcac4058420e4f3ac201d2a
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Aug 21 01:18:00 2009 +0200
    pcm: workaround for avoiding automatic start in mmap mode
    In the normal mmap mode, the stream isn't started automatically even after
    the data >= start_threshold has been written.   However, in the
    mmap-emulation mode, the stream is started because it uses
    snd_pcm_write_areas() internally.
    As a workaround for this inconsistency, start_threshold value is changed
    dynamically in sw_parmams and mmap_commit callbacks in mmap-emul plugin.
    Meanwhile, start_threshold for slave PCM is set to boundary so that only
    this plugin (or the one over it) can control the start of the stream.
    This will fix problems in some apps using pulse plugin in the mmap mode.
    Signed-off-by: Takashi Iwai <tiwai at suse.de>
src/pcm/pcm_mmap_emul.c
This commit caused codec using mmap-emul plugin can't work.
My config file list below:
bfin-ad1836.pcm.default {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type plug
        slave.pcm {
                type mmap_emul
                slave.pcm {
                        type hw
                        card $CARD
                        format S32_LE
                        rate 48000
                }
        }
}
Alsa will not send SNDRV_PCM_IOCTL_START to driver.
But if I revert this patch only, the sound will be bad. I guess there
must be something else to do.
Regards,
Scott
    
    
More information about the Alsa-devel
mailing list