how to play multiple audio in multithreading with ALSA

target <[email protected]> Tue, 5 Nov 2024 15:23:06 +0800 (GMT+08:00)
Newsgroups gmane.linux.alsa.user
Message-ID <[email protected]>
--===============5730923014246662355==
Content-Type: multipart/alternative; 
	boundary="----=_Part_1935899_2079400490.1730791386296"

------=_Part_1935899_2079400490.1730791386296
Content-Type: text/plain; charset=GBK
Content-Transfer-Encoding: base64

SSBhbSB1c2luZyBgYWxzYS1saWItMS4yLjlgIGluIG15IGVtYmVkZGVkIExpbnV4IHN5c3RlbSwg
YW5kIG5vdyBJIHdhbnQgdG8gcGxheSBtdWx0aXBsZSBhdWRpbyBmcm9tIGRpZmZlcmVudCB0aHJl
YWRzLCBzbyBJIGdvb2dsZWQgaW50ZXJuZXQgKEkgYW0gTk9UIGZhbWlsaWFyIHdpdGggQUxTQSkg
YW5kIGZvdW5kIEkgY2FuIHVzZSBgZG1peGAuCgoKSGVyZSBpcyB0aGUgbWFpbiBwYXJ0IG9mIG15
IGAvZXRjL2Fzb3VuZC5jb25mYCBpbiB0aGUgYm9hcmQuCmBgYApwY20uIWRlZmF1bHQKewogICAg
ICAgIHR5cGUgYXN5bQogICAgICAgIHBsYXliYWNrLnBjbSAicGxheV9zb2Z0dm9sIgogICAgICAg
IGNhcHR1cmUucGNtICJjYXBfY2huMCIKfQoKCnBjbS5wbGF5X3NvZnR2b2wgewogICAgICAgIHR5
cGUgc29mdHZvbAogICAgICAgIHNsYXZlIHsKICAgICAgICAgICAgICAgIHBjbSBwbGF5X2NobjAK
ICAgICAgICB9CgoKICAgICAgICBjb250cm9sIHsKICAgICAgICAgICAgICAgIG5hbWUgIlNwZWFr
ZXIgVm9sdW1lIgogICAgICAgIH0KCgogICAgICAgIG1pbl9kQiAtNjAuMAogICAgICAgIG1heF9k
QiAtMTAuMAogICAgICAgIHJlc29sdXRpb24gNTAKfQoKCnBjbS5wbGF5X2NobjAgewogICAgICAg
IHR5cGUgcGx1ZwogICAgICAgIHNsYXZlIHsKICAgICAgICAgICAgICAgIHBjbSBkbWl4ZXIKICAg
ICAgICB9Cn0KCgpwY20uZG1peGVyIHsKICAgICAgICB0eXBlIGRtaXgKICAgICAgICBpcGNfa2V5
IDc3MjM1CiAgICAgICAgaXBjX2tleV9hZGRfdWlkIHRydWUKICAgICAgICBzbGF2ZSB7CiAgICAg
ICAgICAgICAgICBwY20gImh3OjAsMCIKICAgICAgICAgICAgICAgIHBlcmlvZF90aW1lIDAKICAg
ICAgICAgICAgICAgIHBlcmlvZF9zaXplIDMyMAogICAgICAgICAgICAgICAgYnVmZmVyX3NpemUg
MjU2MAogICAgICAgICAgICAgICAgcmF0ZSAzMjAwMAogICAgICAgIH0KfQoKCmN0bC5kbWl4ZXIg
ewogICAgICAgIHR5cGUgaHcKICAgICAgICBjYXJkIDAKfQoKCnBjbS5jYXBfY2huMCB7CiAgICAg
ICAgdHlwZSBwbHVnCiAgICAgICAgc2xhdmUgewogICAgICAgICAgICAgICAgcGNtIGRzbm9vcGVy
CiAgICAgICAgfQp9CgoKcGNtLnRsb29wX2NhcCB7CiAgICAgICAgdHlwZSBwbHVnCiAgICAgICAg
c2xhdmUucGNtICJodzpMb29wYmFjaywwLDAiCn0KCgpwY20uZHNub29wZXIgewogICAgICAgIHR5
cGUgZHNub29wCiAgICAgICAgaXBjX2tleSA3NzIzNgogICAgICAgIGlwY19rZXlfYWRkX3VpZCB0
cnVlCiAgICAgICAgc2xhdmUgewogICAgICAgICAgICAgICAgcGNtICJodzowLDAiCiAgICAgICAg
ICAgICAgICBjaGFubmVscyA0CiAgICAgICAgICAgICAgICByYXRlIDE2MDAwCiAgICAgICAgfQog
ICAgICAgIGJpbmRpbmdzIHsKICAgICAgICAgICAgICAgIDAgMAogICAgICAgICAgICAgICAgMSAx
CiAgICAgICAgICAgICAgICAyIDIKICAgICAgICAgICAgICAgIDMgMwogICAgICAgIH0KfQoKCmN0
bC5kc25vb3BlciB7CiAgICAgICAgdHlwZSBodwogICAgICAgIGNhcmQgMAp9CmBgYApJIHRoaW5r
IHRoZSBgZGVmYXVsdGAgZGV2aWNlIGlzIHVzaW5nIGBwbGF5X3NvZnR2b2xgLT5gcGxheV9jaG4w
YC0+YGRtaXhgLgpTbyBJIHRyaWVkIHRvIHBsYXkgMiBQQ00gZmlsZXMgYXMgZm9sbG93cywKYGBg
CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxhbHNhL2Fz
b3VuZGxpYi5oPgojaW5jbHVkZSA8cHRocmVhZC5oPgoKCnB0aHJlYWRfdCB0aWQsIHRpZDI7CnN0
YXRpYyBzbmRfcGNtX3QgKnBsYXliYWNrX2hhbmRsZTsKc3RhdGljIGludCBzaXplOwpzdGF0aWMg
c25kX3BjbV91ZnJhbWVzX3QgZnJhbWVzOwoKCnZvaWQgKnBsYXlfZnVuYyh2b2lkICphcmcpCnsK
ICAgIGNoYXIgKmJ1ZmZlcjsKICAgIGludCByZXQ7CiAgICBGSUxFICpmcCA9IGZvcGVuKGFyZywg
InJiIik7CiAgICBpZihmcCA9PSBOVUxMKQogICAgICAgIHJldHVybiAwOwoKCiAgICBidWZmZXIg
PSAoY2hhciAqKSBtYWxsb2Moc2l6ZSk7CiAgICBmcHJpbnRmKHN0ZGVyciwgInNpemUgPSAlZCAi
LCBzaXplKTsKCgogICAgd2hpbGUgKDEpCiAgICB7CiAgICAgICAgcmV0ID0gZnJlYWQoYnVmZmVy
LCAxLCBzaXplLCBmcCk7CiAgICAgICAgaWYocmV0ID09IDApCiAgICAgICAgewogICAgICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgImVuZCBvZiBmaWxlIG9uIGlucHV0ICIpOwogICAgICAgICAgICBi
cmVhazsKICAgICAgICB9CgoKICAgICAgICB3aGlsZShyZXQgPSBzbmRfcGNtX3dyaXRlaShwbGF5
YmFja19oYW5kbGUsIGJ1ZmZlciwgZnJhbWVzKTwwKQogICAgICAgIHsKICAgICAgICAgICAgdXNs
ZWVwKDIwMDApOwogICAgICAgICAgICBpZiAocmV0ID09IC1FUElQRSkKICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgLyogRVBJUEUgbWVhbnMgdW5kZXJydW4gKi8KICAgICAgICAgICAgICAg
IGZwcmludGYoc3RkZXJyLCAidW5kZXJydW4gb2NjdXJyZWQgIik7CiAgICAgICAgICAgICAgICBz
bmRfcGNtX3ByZXBhcmUocGxheWJhY2tfaGFuZGxlKTsKICAgICAgICAgICAgfQogICAgICAgICAg
ICBlbHNlIGlmIChyZXQgPCAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgImVycm9yIGZyb20gd3JpdGVpOiAlcyAiLCBzbmRfc3RyZXJyb3IocmV0KSk7CiAg
ICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAgICAgZnJlZShidWZmZXIpOwogICAgICAg
IHJldHVybiBOVUxMOwp9CgoKdm9pZCAqcGxheV9mdW5jMih2b2lkICphcmcpCnsKICAgIGNoYXIg
KmJ1ZmZlcjsKICAgICAgICBpbnQgcmV0OwogICAgRklMRSAqZnAgPSBmb3BlbihhcmcsICJyYiIp
OwogICAgaWYoZnAgPT0gTlVMTCkKICAgICAgICByZXR1cm4gMDsKCgogICAgYnVmZmVyID0gKGNo
YXIgKikgbWFsbG9jKHNpemUpOwogICAgZnByaW50ZihzdGRlcnIsICJzaXplID0gJWQgIiwgc2l6
ZSk7CgoKICAgIHdoaWxlICgxKQogICAgewogICAgICAgIHJldCA9IGZyZWFkKGJ1ZmZlciwgMSwg
c2l6ZSwgZnApOwogICAgICAgIGlmKHJldCA9PSAwKQogICAgICAgIHsKICAgICAgICAgICAgZnBy
aW50ZihzdGRlcnIsICJlbmQgb2YgZmlsZSBvbiBpbnB1dCAiKTsKICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgfQogICAgICAgIHdoaWxlKHJldCA9IHNuZF9wY21fd3JpdGVpKHBsYXliYWNrX2hh
bmRsZSwgYnVmZmVyLCBmcmFtZXMpPDApCiAgICAgICAgewogICAgICAgICAgICB1c2xlZXAoMjAw
MCk7CiAgICAgICAgICAgIGlmIChyZXQgPT0gLUVQSVBFKQogICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAvKiBFUElQRSBtZWFucyB1bmRlcnJ1biAqLwogICAgICAgICAgICAgICAgZnByaW50
ZihzdGRlcnIsICJ1bmRlcnJ1biBvY2N1cnJlZCAiKTsKICAgICAgICAgICAgICAgIHNuZF9wY21f
cHJlcGFyZShwbGF5YmFja19oYW5kbGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2Ug
aWYgKHJldCA8IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiZXJyb3IgZnJvbSB3cml0ZWk6ICVzICIsIHNuZF9zdHJlcnJvcihyZXQpKTsKICAgICAgICAg
ICAgfQogICAgICAgIH0KICAgIH0KICAgICAgICBmcmVlKGJ1ZmZlcik7CiAgICAgICAgcmV0dXJu
IE5VTEw7Cn0KCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7CiAgICBpbnQgcmV0
OwogICAgaW50IGRpcj0wOwogICAgc25kX3BjbV91ZnJhbWVzX3QgcGVyaW9kc2l6ZTsKICAgIHNu
ZF9wY21faHdfcGFyYW1zX3QgKmh3X3BhcmFtczsKCgoKCiAgICBpZiAoYXJnYyA8IDIpIHsKICAg
ICAgICBwcmludGYoImVycm9yOiBhbHNhX3BsYXlfdGVzdCBbbXVzaWMgbmFtZV0gWzJuZCBuYW1l
XSAiKTsKICAgICAgICBleGl0KDEpOwogICAgfQoKCiAgICAvLzEuCiAgICByZXQgPSBzbmRfcGNt
X29wZW4oJnBsYXliYWNrX2hhbmRsZSwgImRlZmF1bHQiLCBTTkRfUENNX1NUUkVBTV9QTEFZQkFD
SywgMCk7CiAgICBpZiAocmV0IDwgMCkgewogICAgICAgIHBlcnJvcigic25kX3BjbV9vcGVuIik7
CiAgICAgICAgZXhpdCgxKTsKICAgIH0KLi4uLi4uLgogICAgICAgIHJldCA9IHB0aHJlYWRfY3Jl
YXRlKCZ0aWQsIE5VTEwsIHBsYXlfZnVuYywgYXJndlsxXSk7CiAgICAgICAgaWYgKGFyZ2MgPiAy
KQogICAgICAgIHJldCA9IHB0aHJlYWRfY3JlYXRlKCZ0aWQyLCBOVUxMLCBwbGF5X2Z1bmMyLCBh
cmd2WzJdKTsKCgogICAgICAgIHB0aHJlYWRfam9pbih0aWQsIE5VTEwpOwogICAgICAgIGlmIChh
cmdjID4gMikKICAgICAgICBwdGhyZWFkX2pvaW4odGlkMiwgTlVMTCk7CgoKICAgIHNuZF9wY21f
Y2xvc2UocGxheWJhY2tfaGFuZGxlKTsKCgogICAgcmV0dXJuIDA7Cn0KYGBgCgoKYGBgCmFzb3Vu
ZF90aHJlYWRzIDEucGNtIDIucGNtCnBsYXkgc29uZyAxLnBjbSBhbmQgMi5wY20Kc2l6ZSA9IDMy
MApzaXplID0gMzIwCmBgYAoKCkJ1dCBpdCBzb3VuZHMgbWVzc3ksIHRoZSB0d28gUENNcyBhcmUg
cGxheWVkIGluIGFuIGludGVybGVhdmVkIHdheSwgYnV0IHRoZSBzcGVlZCBpcyB3cm9uZyBhbmQg
ZmxpdHRlcmVkLiAgCgoKU28gaW4gbXkgY2FzZSwgaG93IGNhbiBJIHBsYXkgbXVsdGlwbGUgYXVk
aW9zIChhdWRpbyBtaXhpbmcpIGluIG11bHRpdGhyZWFkaW5nPwoKCnRoYW5rc6OsCi1UYW8KCgoK
CgoKCg==
------=_Part_1935899_2079400490.1730791386296
Content-Type: text/html; charset=GBK
Content-Transfer-Encoding: base64

PGltZyBzdHlsZT0id2lkdGg6MXB4O2hlaWdodDoxcHgiIHNyYz0iaHR0cHM6Ly9jb3VudC5tYWls
LjE2My5jb20vYmVhY29uL3dlYm1haWwuZ2lmP3R5cGU9d2VibWFpbF9tYWlsdHJhY2UmYW1wO2d1
aWQ9NTE2NzQ0Mzg1YTZlNGRlM2JiMWM0MjU1M2RjNmYwOWYiPjxkaXY+SSBhbSB1c2luZyBgYWxz
YS1saWItMS4yLjlgIGluIG15IGVtYmVkZGVkIExpbnV4IHN5c3RlbSwgYW5kIG5vdyBJIHdhbnQg
dG8gcGxheSBtdWx0aXBsZSBhdWRpbyBmcm9tIGRpZmZlcmVudCB0aHJlYWRzLCBzbyBJIGdvb2ds
ZWQgaW50ZXJuZXQgKEkgYW0gTk9UIGZhbWlsaWFyIHdpdGggQUxTQSkgYW5kIGZvdW5kIEkgY2Fu
IHVzZSBgZG1peGAuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5IZXJlIGlzIHRoZSBtYWluIHBh
cnQgb2YgbXkgYC9ldGMvYXNvdW5kLmNvbmZgIGluIHRoZSBib2FyZC48L2Rpdj48ZGl2PmBgYDwv
ZGl2PjxkaXY+cGNtLiFkZWZhdWx0PC9kaXY+PGRpdj57PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgdHlwZSBhc3ltPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgcGxheWJhY2sucGNtICJwbGF5X3NvZnR2b2wiPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgY2FwdHVyZS5wY20gImNhcF9jaG4wIjwvZGl2PjxkaXY+fTwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+cGNtLnBsYXlfc29mdHZvbCB7PC9kaXY+PGRpdj4mbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgdHlwZSBzb2Z0dm9sPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgc2xhdmUgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwY20gcGxheV9jaG4wPC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNvbnRyb2wgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBuYW1lICJTcGVha2VyIFZv
bHVtZSI8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB9PC9kaXY+PGRpdj48
YnI+PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgbWluX2RCIC02MC4wPC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgbWF4X2RCIC0xMC4wPC9kaXY+PGRp
dj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzb2x1dGlvbiA1MDwvZGl2PjxkaXY+fTwv
ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+cGNtLnBsYXlfY2huMCB7PC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgdHlwZSBwbHVnPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgc2xhdmUgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwY20gZG1peGVyPC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+fTwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk
aXY+cGNtLmRtaXhlciB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdHlw
ZSBkbWl4PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgaXBjX2tleSA3NzIz
NTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlwY19rZXlfYWRkX3VpZCB0
cnVlPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2xhdmUgezwvZGl2Pjxk
aXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyBwY20gImh3OjAsMCI8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcGVyaW9kX3RpbWUgMDwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwZXJpb2Rfc2l6
ZSAzMjA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgYnVmZmVyX3NpemUgMjU2MDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByYXRlIDMyMDAwPC9kaXY+
PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+fTwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+Y3RsLmRtaXhlciB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgdHlwZSBodzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNh
cmQgMDwvZGl2PjxkaXY+fTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+cGNtLmNhcF9jaG4wIHs8
L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0eXBlIHBsdWc8L2Rpdj48ZGl2
PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzbGF2ZSB7PC9kaXY+PGRpdj4mbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHBjbSBkc25vb3Bl
cjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj48ZGl2Pn08L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2PnBjbS50bG9vcF9jYXAgezwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7IHR5cGUgcGx1ZzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7IHNsYXZlLnBjbSAiaHc6TG9vcGJhY2ssMCwwIjwvZGl2PjxkaXY+fTwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+cGNtLmRzbm9vcGVyIHs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyB0eXBlIGRzbm9vcDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7IGlwY19rZXkgNzcyMzY8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyBpcGNfa2V5X2FkZF91aWQgdHJ1ZTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7IHNsYXZlIHs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgcGNtICJodzowLDAiPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNoYW5uZWxzIDQ8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgcmF0ZSAxNjAwMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08
L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBiaW5kaW5ncyB7PC9kaXY+PGRp
dj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
IDAgMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAxIDE8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgMiAyPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDMgMzwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj48ZGl2Pn08L2Rpdj48ZGl2Pjxicj48L2Rp
dj48ZGl2PmN0bC5kc25vb3BlciB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgdHlwZSBodzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNhcmQgMDwv
ZGl2PjxkaXY+fTwvZGl2PjxkaXY+YGBgPC9kaXY+PGRpdj5JIHRoaW5rIHRoZSBgZGVmYXVsdGAg
ZGV2aWNlIGlzIHVzaW5nIGBwbGF5X3NvZnR2b2xgLSZndDtgcGxheV9jaG4wYC0mZ3Q7YGRtaXhg
LjwvZGl2PjxkaXY+U28gSSB0cmllZCB0byBwbGF5IDIgUENNIGZpbGVzIGFzIGZvbGxvd3MsPC9k
aXY+PGRpdj5gYGA8L2Rpdj48ZGl2PiNpbmNsdWRlICZsdDtzdGRpby5oJmd0OzwvZGl2PjxkaXY+
I2luY2x1ZGUgJmx0O3N0ZGxpYi5oJmd0OzwvZGl2PjxkaXY+I2luY2x1ZGUgJmx0O2Fsc2EvYXNv
dW5kbGliLmgmZ3Q7PC9kaXY+PGRpdj4jaW5jbHVkZSAmbHQ7cHRocmVhZC5oJmd0OzwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+cHRocmVhZF90IHRpZCwgdGlkMjs8L2Rpdj48ZGl2PnN0YXRpYyBz
bmRfcGNtX3QgKnBsYXliYWNrX2hhbmRsZTs8L2Rpdj48ZGl2PnN0YXRpYyBpbnQgc2l6ZTs8L2Rp
dj48ZGl2PnN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBmcmFtZXM7PC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj52b2lkICpwbGF5X2Z1bmModm9pZCAqYXJnKTwvZGl2PjxkaXY+ezwvZGl2PjxkaXY+
Jm5ic3A7ICZuYnNwOyBjaGFyICpidWZmZXI7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGludCBy
ZXQ7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IEZJTEUgKmZwID0gZm9wZW4oYXJnLCAicmIiKTs8
L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgaWYoZnAgPT0gTlVMTCk8L2Rpdj48ZGl2PiZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyByZXR1cm4gMDs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgYnVmZmVyID0gKGNoYXIgKikgbWFsbG9jKHNpemUpOzwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyBmcHJpbnRmKHN0ZGVyciwgInNpemUgPSAlZCAiLCBzaXplKTs8L2Rpdj48ZGl2
Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgd2hpbGUgKDEpPC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7IHs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXQgPSBmcmVh
ZChidWZmZXIsIDEsIHNpemUsIGZwKTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyBpZihyZXQgPT0gMCk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB7
PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBmcHJp
bnRmKHN0ZGVyciwgImVuZCBvZiBmaWxlIG9uIGlucHV0ICIpOzwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYnJlYWs7PC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7IHdoaWxlKHJldCA9IHNuZF9wY21fd3JpdGVpKHBsYXliYWNrX2hh
bmRsZSwgYnVmZmVyLCBmcmFtZXMpJmx0OzApPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgdXNsZWVwKDIwMDApOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgaWYgKHJldCA9PSAtRVBJUEUpPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IC8qIEVQSVBFIG1lYW5zIHVu
ZGVycnVuICovPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7IGZwcmludGYoc3RkZXJyLCAidW5kZXJydW4gb2NjdXJyZWQgIik7
PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7IHNuZF9wY21fcHJlcGFyZShwbGF5YmFja19oYW5kbGUpOzwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZWxzZSBpZiAocmV0ICZsdDsgMCk8
L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHs8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgZnByaW50ZihzdGRlcnIsICJlcnJvciBmcm9tIHdyaXRlaTogJXMgIiwgc25kX3N0cmVy
cm9yKHJldCkpOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj48ZGl2
PiZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGZy
ZWUoYnVmZmVyKTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXR1cm4g
TlVMTDs8L2Rpdj48ZGl2Pn08L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PnZvaWQgKnBsYXlfZnVu
YzIodm9pZCAqYXJnKTwvZGl2PjxkaXY+ezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBjaGFyICpi
dWZmZXI7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgaW50IHJldDs8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsgRklMRSAqZnAgPSBmb3BlbihhcmcsICJyYiIpOzwvZGl2Pjxk
aXY+Jm5ic3A7ICZuYnNwOyBpZihmcCA9PSBOVUxMKTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7IHJldHVybiAwOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyBidWZmZXIgPSAoY2hhciAqKSBtYWxsb2Moc2l6ZSk7PC9kaXY+PGRpdj4mbmJzcDsgJm5i
c3A7IGZwcmludGYoc3RkZXJyLCAic2l6ZSA9ICVkICIsIHNpemUpOzwvZGl2PjxkaXY+PGJyPjwv
ZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyB3aGlsZSAoMSk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg
ezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldCA9IGZyZWFkKGJ1ZmZl
ciwgMSwgc2l6ZSwgZnApOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlm
KHJldCA9PSAwKTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHs8L2Rpdj48
ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGZwcmludGYoc3Rk
ZXJyLCAiZW5kIG9mIGZpbGUgb24gaW5wdXQgIik7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBicmVhazs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyB9PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgd2hp
bGUocmV0ID0gc25kX3BjbV93cml0ZWkocGxheWJhY2tfaGFuZGxlLCBidWZmZXIsIGZyYW1lcykm
bHQ7MCk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB7PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB1c2xlZXAoMjAwMCk7PC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiAocmV0
ID09IC1FUElQRSk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7IHs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgLyogRVBJUEUgbWVhbnMgdW5kZXJydW4gKi88L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZnBy
aW50ZihzdGRlcnIsICJ1bmRlcnJ1biBvY2N1cnJlZCAiKTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc25kX3BjbV9wcmVw
YXJlKHBsYXliYWNrX2hhbmRsZSk7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyB9PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyBlbHNlIGlmIChyZXQgJmx0OyAwKTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBmcHJpbnRmKHN0ZGVyciwg
ImVycm9yIGZyb20gd3JpdGVpOiAlcyAiLCBzbmRfc3RyZXJyb3IocmV0KSk7PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB9PC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyB9PC9kaXY+
PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZnJlZShidWZmZXIpOzwvZGl2PjxkaXY+
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldHVybiBOVUxMOzwvZGl2PjxkaXY+fTwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk8L2Rp
dj48ZGl2Pns8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgaW50IHJldDs8L2Rpdj48ZGl2PiZuYnNw
OyAmbmJzcDsgaW50IGRpcj0wOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBzbmRfcGNtX3VmcmFt
ZXNfdCBwZXJpb2RzaXplOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBzbmRfcGNtX2h3X3BhcmFt
c190ICpod19wYXJhbXM7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7IGlmIChhcmdjICZsdDsgMikgezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7IHByaW50ZigiZXJyb3I6IGFsc2FfcGxheV90ZXN0IFttdXNpYyBuYW1lXSBb
Mm5kIG5hbWVdICIpOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGV4aXQo
MSk7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IH08L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgLy8xLjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyByZXQgPSBzbmRfcGNtX29w
ZW4oJmFtcDtwbGF5YmFja19oYW5kbGUsICJkZWZhdWx0IiwgU05EX1BDTV9TVFJFQU1fUExBWUJB
Q0ssIDApOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBpZiAocmV0ICZsdDsgMCkgezwvZGl2Pjxk
aXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHBlcnJvcigic25kX3BjbV9vcGVuIik7PC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZXhpdCgxKTs8L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Li4uLi4uLjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7IHJldCA9IHB0aHJlYWRfY3JlYXRlKCZhbXA7dGlkLCBOVUxMLCBwbGF5X2Z1
bmMsIGFyZ3ZbMV0pOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmIChh
cmdjICZndDsgMik8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXQgPSBw
dGhyZWFkX2NyZWF0ZSgmYW1wO3RpZDIsIE5VTEwsIHBsYXlfZnVuYzIsIGFyZ3ZbMl0pOzwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHB0aHJlYWRf
am9pbih0aWQsIE5VTEwpOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlm
IChhcmdjICZndDsgMik8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwdGhy
ZWFkX2pvaW4odGlkMiwgTlVMTCk7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mbmJzcDsgJm5i
c3A7IHNuZF9wY21fY2xvc2UocGxheWJhY2tfaGFuZGxlKTs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PiZuYnNwOyAmbmJzcDsgcmV0dXJuIDA7PC9kaXY+PGRpdj59PC9kaXY+PGRpdj5gYGA8L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+YXNvdW5kX3RocmVhZHMgMS5wY20g
Mi5wY208L2Rpdj48ZGl2PnBsYXkgc29uZyAxLnBjbSBhbmQgMi5wY208L2Rpdj48ZGl2PnNpemUg
PSAzMjA8L2Rpdj48ZGl2PnNpemUgPSAzMjA8L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+PGJyPjwv
ZGl2PjxkaXY+QnV0IGl0IHNvdW5kcyBtZXNzeSwgdGhlIHR3byBQQ01zIGFyZSBwbGF5ZWQgaW4g
YW4gaW50ZXJsZWF2ZWQgd2F5LCBidXQgdGhlIHNwZWVkIGlzIHdyb25nIGFuZCBmbGl0dGVyZWQu
Jm5ic3A7Jm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TbyBpbiBteSBjYXNlLCBob3cg
Y2FuIEkgcGxheSBtdWx0aXBsZSBhdWRpb3MgKGF1ZGlvIG1peGluZykgaW4gbXVsdGl0aHJlYWRp
bmc/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj50aGFua3OjrDwvZGl2PjxkaXY+LVRhbzwvZGl2
PjxkaXY+PGJyPjwvZGl2Pjxicj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2IGlk
PSJpbWFpbF9zaWduYXR1cmUiIGNsYXNzPSJudGVzLXNpZ25hdHVyZSI+PC9kaXY+
------=_Part_1935899_2079400490.1730791386296--



--===============5730923014246662355==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============5730923014246662355==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user

--===============5730923014246662355==--