Skip to content

Commit 23ef212

Browse files
author
Datanoise
committed
debug: add verbose logging to Opus transcoder and fix build error
1 parent 235db39 commit 23ef212

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

relay/transcode.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -256,32 +256,41 @@ func (tm *TranscoderManager) encodeOpus(ctx context.Context, inst *TranscoderIns
256256
opusPacket := make([]byte, 4000) // Max opus packet size
257257

258258
var granulePos uint64
259+
var sentCount int64 = 0
259260

261+
logrus.Infof("Opus Transcoder %s: Entering main loop", inst.Config.Name)
260262
for {
261263
select {
262264
case <-ctx.Done():
265+
logrus.Infof("Opus Transcoder %s: Context cancelled", inst.Config.Name)
263266
return
264267
default:
265-
_, err := io.ReadFull(decoder, pcmBuf)
266-
if err != nil {
268+
rn, rerr := io.ReadFull(decoder, pcmBuf)
269+
if rerr != nil {
270+
logrus.WithError(rerr).Warnf("Opus Transcoder %s: PCM read error", inst.Config.Name)
267271
return
268272
}
269273

274+
if sentCount == 0 {
275+
logrus.Infof("Opus Transcoder %s: Successfully read first PCM frame (%d bytes)", inst.Config.Name, rn)
276+
}
277+
270278
for i := 0; i < len(pcmSamples); i++ {
271279
pcmSamples[i] = int16(pcmBuf[i*2]) | int16(pcmBuf[i*2+1])<<8
272280
}
273281

274-
n, err := enc.Encode(pcmSamples, frameSize, opusPacket)
275-
if err != nil {
276-
logrus.WithError(err).Error("Opus encode error")
282+
en, eerr := enc.Encode(pcmSamples, frameSize, opusPacket)
283+
if eerr != nil {
284+
logrus.WithError(eerr).Error("Opus encode error")
277285
return
278286
}
279287

280288
granulePos += uint64(frameSize)
281-
if err := pw.WritePacket(opusPacket[:n], granulePos, false, false); err != nil {
289+
if err := pw.WritePacket(opusPacket[:en], granulePos, false, false); err != nil {
282290
return
283291
}
284292

293+
sentCount++
285294
atomic.AddInt64(&inst.FramesProcessed, 1)
286295
}
287296
}

0 commit comments

Comments
 (0)