lllwan
Committed by GitHub

Fix sherpa_onnx.go (#1353)

@@ -610,12 +610,15 @@ func (recognizer *OfflineRecognizer) DecodeStreams(s []*OfflineStream) { @@ -610,12 +610,15 @@ func (recognizer *OfflineRecognizer) DecodeStreams(s []*OfflineStream) {
610 func (s *OfflineStream) GetResult() *OfflineRecognizerResult { 610 func (s *OfflineStream) GetResult() *OfflineRecognizerResult {
611 p := C.SherpaOnnxGetOfflineStreamResult(s.impl) 611 p := C.SherpaOnnxGetOfflineStreamResult(s.impl)
612 defer C.SherpaOnnxDestroyOfflineRecognizerResult(p) 612 defer C.SherpaOnnxDestroyOfflineRecognizerResult(p)
  613 + n := int(p.count)
  614 + if n == 0 {
  615 + return nil
  616 + }
613 result := &OfflineRecognizerResult{} 617 result := &OfflineRecognizerResult{}
614 result.Text = C.GoString(p.text) 618 result.Text = C.GoString(p.text)
615 result.Lang = C.GoString(p.lang) 619 result.Lang = C.GoString(p.lang)
616 result.Emotion = C.GoString(p.emotion) 620 result.Emotion = C.GoString(p.emotion)
617 result.Event = C.GoString(p.event) 621 result.Event = C.GoString(p.event)
618 - n := int(p.count)  
619 result.Tokens = make([]string, n) 622 result.Tokens = make([]string, n)
620 tokens := (*[1 << 28]*C.char)(unsafe.Pointer(p.tokens_arr))[:n:n] 623 tokens := (*[1 << 28]*C.char)(unsafe.Pointer(p.tokens_arr))[:n:n]
621 for i := 0; i < n; i++ { 624 for i := 0; i < n; i++ {