(pcm []float32)
| 125 | } |
| 126 | |
| 127 | func (ts *liveTraceState) addPCM(pcm []float32) { |
| 128 | if ts == nil { |
| 129 | return |
| 130 | } |
| 131 | ts.mu.Lock() |
| 132 | defer ts.mu.Unlock() |
| 133 | ts.fedSamples += len(pcm) |
| 134 | maxBytes := trace.MaxSnippetSeconds * liveSampleRate * 2 |
| 135 | if room := (maxBytes - len(ts.pcm)) / 2; room > 0 { |
| 136 | if len(pcm) > room { |
| 137 | pcm = pcm[:room] |
| 138 | } |
| 139 | ts.pcm = append(ts.pcm, sound.Float32sToInt16LEBytes(pcm)...) |
| 140 | } |
| 141 | } |
| 142 | |
| 143 | func (ts *liveTraceState) observe(ev LiveTranscriptionEvent) { |
| 144 | if ts == nil { |
no test coverage detected