add audio support, trying to manage MSD device

This commit is contained in:
Artem
2024-11-03 11:44:40 +01:00
parent 68ba48a3a2
commit 1b60f43df1
22 changed files with 1059 additions and 263 deletions

View File

@@ -87,10 +87,10 @@ func (h *Hid) writeWithTimeout(file *os.File, data []byte) {
if err != nil {
switch {
case errors.Is(err, os.ErrClosed):
log.Debugf("hid already closed, reopen it...")
log.Tracef("hid already closed, reopen it...")
h.OpenNoLock()
case errors.Is(err, os.ErrDeadlineExceeded):
log.Debugf("write to hid timeout")
log.Tracef("write to hid timeout")
default:
log.Errorf("write to hid failed: %s", err)
}

View File

@@ -8,6 +8,7 @@ import (
)
func (h *Hid) OpenNoLock() {
log.Debug("OpenNoLock hid")
var err error
h.CloseNoLock()
@@ -39,6 +40,7 @@ func (h *Hid) Open() {
}
func (h *Hid) CloseNoLock() {
log.Debug("CloseNoLock")
for _, file := range []*os.File{h.g0, h.g1, h.g2} {
if file != nil {
_ = file.Sync()