Copy hw out to loop problem when recording started before playing
Anton Nikolaev
anikol.159 at gmail.com
Wed Jul 28 08:51:14 CEST 2021
Hello everyone. Please help. Do not understand what is wrong
Chains is :
Plug asym1 -
Out= Plug with multi (Copy hardware dmix output to dmix loopout)
IN= Dsnoop with hardware dev
Plug asym2 -
Out= plug dmix loop
IN= plug dsnoop loop
Work good if playing to plug asym1 started before recording from asym2.
Not working play to asym1 if recording from asym2 started before playing to
asym1.
/Etc/asound.conf is:
pcm.hwcard0 { type hw; card 0; device 0; }
pcm.!default {
type plug;
slave.pcm { type asym; playback.pcm "devhwcopy"; capture.pcm "devhwin"; }
}
pcm.devhwcopy {
type plug;
route_policy "duplicate";
slave.pcm {
type multi; slaves {
a { channels 2; pcm "devhwout"; }
b { channels 2; pcm "devloopout"; }
}
bindings { 0 { slave a channel 0 } 1 { slave a channel 1 } 2 { slave b
channel 0 } 3 { slave b channel 1 } }
}
ttable [ [ 1 0 1 0 ] [ 0 1 0 1 ] ]
}
pcm.devhwout {
type dmix; ipc_key 1024001; ipc_perm 0666; hw_ptr_alignment roundup;
slave { pcm "hwcard0"; channels 2; period_size 1024; buffer_size 8192; }
bindings { 0 0 1 1 }
}
pcm.devhwin {
type dsnoop; ipc_key 1024002; ipc_perm 0666;
slave { pcm "hwcard0"; channels 2; rate 44100; period_size 1024;
buffer_size 8192; }
bindings { 0 0 1 1 }
}
pcm.devloopout {
type dmix; ipc_key 1024011; ipc_perm 0666;
slave { pcm "hw:LOOPCARD,0,0"; channels 2; period_size 1024; buffer_size
8192; }
bindings { 0 0 1 1 }
}
pcm.devloopin {
type dsnoop; ipc_key 1024012; ipc_perm 0666;
slave { pcm "hw:LOOPCARD,1,0"; channels 2; rate 44100; period_size 1024;
buffer_size 8192; }
bindings { 0 0 1 1 }
}
pcm.devloop {
type plug;
slave.pcm { type asym; playback.pcm "devloopout"; capture.pcm
"devloopin"; }
}
(English is not native for me, sorry)
More information about the Alsa-devel
mailing list