driver should no stuck
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user