Fix(tts): check if done channel is closed or not
This commit is contained in:
16
extra/tts.go
16
extra/tts.go
@@ -110,7 +110,13 @@ func (o *KokoroOrator) stoproutine() {
|
|||||||
<-TTSTextChan
|
<-TTSTextChan
|
||||||
}
|
}
|
||||||
o.textBuffer.Reset()
|
o.textBuffer.Reset()
|
||||||
o.currentDone <- true
|
if o.currentDone != nil {
|
||||||
|
select {
|
||||||
|
case o.currentDone <- true:
|
||||||
|
default:
|
||||||
|
// Channel might be closed, ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
o.interrupt = true
|
o.interrupt = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -317,7 +323,13 @@ func (o *GoogleTranslateOrator) stoproutine() {
|
|||||||
<-TTSTextChan
|
<-TTSTextChan
|
||||||
}
|
}
|
||||||
o.textBuffer.Reset()
|
o.textBuffer.Reset()
|
||||||
o.currentDone <- true
|
if o.currentDone != nil {
|
||||||
|
select {
|
||||||
|
case o.currentDone <- true:
|
||||||
|
default:
|
||||||
|
// Channel might be closed, ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
o.interrupt = true
|
o.interrupt = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user