driver should no stuck

This commit is contained in:
Sense T
2022-10-02 10:50:08 +00:00
parent c22c399f40
commit b945218c85
2 changed files with 13 additions and 16 deletions

View File

@@ -4,6 +4,7 @@ import (
"context"
"encoding/binary"
"io"
"time"
"github.com/pion/mediadevices/pkg/io/audio"
"github.com/pion/mediadevices/pkg/prop"
@@ -70,11 +71,10 @@ func (w *PCMStreamDriver) AudioRecord(p prop.Media) (audio.Reader, error) {
select {
case <-w.closed:
return nil, func() {}, io.EOF
case pcmData, ok := <-w.PCM:
if !ok {
return nil, func() {}, io.ErrClosedPipe
}
case pcmData := <-w.PCM:
copy(a.Data, bytesTo16BitSamples(pcmData[:]))
case <-time.After(p.Latency):
// no stuck
}
return a, func() {}, nil
}