This commit is contained in:
2024-09-19 23:25:41 +02:00
parent 6c68b574a2
commit 945ed5677b
+9 -8
View File
@@ -101,8 +101,8 @@ class SRBuffer(voice_recv.AudioSink):
if user: if user:
self.wavewriter[str(user.id)][0].writeframes(data.pcm) self.wavewriter[str(user.id)][0].writeframes(data.pcm)
self.wavewriter[str(user.id)][1] = time.time_ns() self.wavewriter[str(user.id)][1] = time.time_ns()
self.wavewriter[str(user.id)][2] = True #no writes self.wavewriter[str(user.id)][2] = True #still transmiting
self.wavewriter[str(user.id)][3] = False #ready to rotate self.wavewriter[str(user.id)][3] = True #there is data to write
def cleanup(self) -> None: def cleanup(self) -> None:
try: try:
@@ -149,12 +149,13 @@ class Transcriber(commands.Cog):
async def check_data(self): async def check_data(self):
for item in self.wsink.wavewriter.values(): for item in self.wsink.wavewriter.values():
logger.info("Item %s", item) logger.info("Item %s", item)
if not item[2] and not item[3]: if not item[2]:
if time.time_ns() - item[1] > 34000000: timediff = time.time_ns() - item[1]
item[3] = True if timediff > 50000000 and item[3]: #timeout occured data to transmit exists
elif not item[2] and item[3]: logger.info("File rotation at %s", timediff)
item[0].rotate() item[3] = False #buffer rotated
item[3] = False item[0].rotate()
#ensure only files with minimum length are sent to transcription
item[2] = False item[2] = False
logger.info("Diff : %s", time.time_ns() - item[1]) logger.info("Diff : %s", time.time_ns() - item[1])