to be continued

This commit is contained in:
TonyChyi
2022-10-10 19:12:26 +08:00
parent 4844944c37
commit 07d3ae3717
6 changed files with 28 additions and 8 deletions

View File

@@ -68,12 +68,14 @@ func (w *PCMStreamDriver) AudioRecord(p prop.Media) (audio.Reader, error) {
reader := func() (wave.Audio, func(), error) {
a := wave.NewInt16Interleaved(chunkInfo)
ticker := time.NewTicker(p.Latency)
defer ticker.Stop()
select {
case <-w.closed:
return nil, func() {}, io.EOF
case pcmData := <-w.PCM:
copy(a.Data, bytesTo16BitSamples(pcmData[:]))
case <-time.After(p.Latency):
case <-ticker.C:
// no stuck
}
return a, func() {}, nil

View File

@@ -59,6 +59,9 @@ func (v *PPMStreamDriver) VideoRecord(p prop.Media) (video.Reader, error) {
image.YCbCrSubsampleRatio420,
)
r := video.ReaderFunc(func() (img image.Image, release func(), err error) {
ticker := time.NewTicker(time.Second / time.Duration(p.FrameRate))
defer ticker.Stop()
select {
case <-v.closed:
return nil, func() {}, io.EOF
@@ -82,7 +85,7 @@ func (v *PPMStreamDriver) VideoRecord(p prop.Media) (video.Reader, error) {
canvas.Cr[canvas.COffset(x, y)] = Cr
}
}
case <-time.After(time.Second / time.Duration(p.FrameRate)):
case <-ticker.C:
}
return canvas, func() {}, nil
})