# direct mix for pcm playback # aplay -D mixplayback xxx.wav pcm.mixout { type dmix ipc_key 1024 slave { # slave PCM name pcm "hw:0,0" # PCM params format S16_LE # STR rate 16000 # INT #rate 48000 # INT channels 2 # INT # stream params,buffer_size=period x period_size periods 100 # INT,when buffer_size or buffer_time is not specified period_size 1024 # INT,in frames,3 times than app need # optional params # period_time 0 # INT,in usec # buffer_time 0 # INT,in usec # buffer_size 65536 #INT,in frames } bindings { 0 0 # from 0 -> 0 1 1 # from 1 -> 1 } # slowptr BOOL # slow but more precise pointer updates } # dsnoop for capture # arecord -D mixcapture test.wav pcm.mixin { type dsnoop ipc_key 1025 # must be unique for all dmix plugins!!!! # ipc_key_add_uid yes # no need for embedded system slave { # slave PCM name pcm "hw:0,0" # PCM params format S16_LE # STR rate 16000 # INT #rate 48000 # INT channels 2 # INT # stream params,buffer_size=period x period_size periods 100 # INT,when buffer_size or buffer_time is not specified period_size 1024 # INT,in frames,3 times than app need # optional params # period_time 0 # INT,in usec # buffer_time 0 # INT,in usec # buffer_size 65536 #INT,in frames } bindings { 0 0 # from 0 -> 0 1 1 # from 1 -> 1 } } # pcm plug for playback pcm.mixplayback { type plug slave.pcm "mixout" # A hint is required for listing the device in some GUIs hint { show on description "X6200 playback mixer" } } # pcm plug for capture pcm.mixcapture { type plug slave.pcm "mixin" # A hint is required for listing the device in some GUIs hint { show on description "X6200 capture mixer" } } ctl.mixer0 { type hw card 0 }