package recorder import ( "log" "sdr-wideband-suite/internal/demod/gpudemod" ) func tryGPUAudio(gpu *gpudemod.Engine, label string, iq []complex64, offset float64, bw float64, gpuMode gpudemod.DemodType) ([]float32, int, bool) { if gpu == nil { return nil, 0, false } if gpuAudio, gpuRate, err := gpu.DemodFused(iq, offset, bw, gpuMode); err == nil { // fused GPU demod OK return gpuAudio, gpuRate, true } else { log.Printf("gpudemod: fused GPU demod failed (%s): %v", label, err) } if gpuAudio, gpuRate, err := gpu.Demod(iq, offset, bw, gpuMode); err == nil { // legacy GPU demod OK return gpuAudio, gpuRate, true } else { log.Printf("gpudemod: legacy GPU demod failed (%s): %v", label, err) } return nil, 0, false }