ciyidogan commited on
Commit
05116c7
Β·
verified Β·
1 Parent(s): d0287a2

Update stt/stt_lifecycle_manager.py

Browse files
Files changed (1) hide show
  1. stt/stt_lifecycle_manager.py +17 -13
stt/stt_lifecycle_manager.py CHANGED
@@ -164,26 +164,20 @@ class STTLifecycleManager:
164
  """Handle STT stop request"""
165
  session_id = event.session_id
166
  reason = event.data.get("reason", "unknown")
167
-
168
- """Send STT stopped signal to client"""
169
- await self.send_message(session_id, {
170
- "type": "stt_stopped",
171
- "message": "STT stopped, please stop sending audio"
172
- })
173
-
174
  log_info(f"πŸ›‘ Stopping STT", session_id=session_id, reason=reason)
175
-
176
  stt_session = self.stt_sessions.get(session_id)
177
  if not stt_session:
178
  log_warning(f"⚠️ No STT session found", session_id=session_id)
179
  return
180
-
181
  try:
182
  if stt_session.is_streaming:
183
  # Stop streaming
184
  final_result = await stt_session.stt_instance.stop_streaming()
185
  stt_session.is_streaming = False
186
-
187
  # If we got a final result, publish it
188
  if final_result and final_result.text:
189
  await self.event_bus.publish(Event(
@@ -195,12 +189,22 @@ class STTLifecycleManager:
195
  "confidence": final_result.confidence
196
  }
197
  ))
198
-
 
 
 
 
 
 
 
 
 
 
199
  # Don't remove session immediately - might restart
200
  stt_session.update_activity()
201
-
202
  log_info(f"βœ… STT stopped", session_id=session_id)
203
-
204
  except Exception as e:
205
  log_error(
206
  f"❌ Error stopping STT",
 
164
  """Handle STT stop request"""
165
  session_id = event.session_id
166
  reason = event.data.get("reason", "unknown")
167
+
 
 
 
 
 
 
168
  log_info(f"πŸ›‘ Stopping STT", session_id=session_id, reason=reason)
169
+
170
  stt_session = self.stt_sessions.get(session_id)
171
  if not stt_session:
172
  log_warning(f"⚠️ No STT session found", session_id=session_id)
173
  return
174
+
175
  try:
176
  if stt_session.is_streaming:
177
  # Stop streaming
178
  final_result = await stt_session.stt_instance.stop_streaming()
179
  stt_session.is_streaming = False
180
+
181
  # If we got a final result, publish it
182
  if final_result and final_result.text:
183
  await self.event_bus.publish(Event(
 
189
  "confidence": final_result.confidence
190
  }
191
  ))
192
+
193
+ # βœ… FIX: Send stop signal to WebSocket to stop audio streaming
194
+ await self.event_bus.publish(Event(
195
+ type=EventType.WEBSOCKET_MESSAGE,
196
+ session_id=session_id,
197
+ data={
198
+ "type": "stt_stopped",
199
+ "message": "STT stopped, please stop sending audio"
200
+ }
201
+ ))
202
+
203
  # Don't remove session immediately - might restart
204
  stt_session.update_activity()
205
+
206
  log_info(f"βœ… STT stopped", session_id=session_id)
207
+
208
  except Exception as e:
209
  log_error(
210
  f"❌ Error stopping STT",