feat(media): SmtcController.resume() stellt nur eigene Pausen wieder her

This commit is contained in:
2026-04-16 18:15:16 +02:00
parent 89edf23de9
commit 802e06acd9
2 changed files with 103 additions and 1 deletions
+24 -1
View File
@@ -67,4 +67,27 @@ class SmtcController:
self._paused = paused
async def resume(self) -> None:
pass
if not self._paused:
return
try:
manager = await self._ensure_manager()
current = {
s.source_app_user_model_id: s for s in manager.get_sessions()
}
except Exception as e:
logger.warning("SMTC nicht erreichbar beim Fortsetzen: %s", e)
self._paused = []
return
to_resume = self._paused
self._paused = []
for aumid in to_resume:
session = current.get(aumid)
if session is None:
logger.warning(
"Session %s nicht mehr vorhanden, wird übersprungen", aumid
)
continue
try:
await session.try_play_async()
except Exception as e:
logger.warning("Konnte Session %s nicht fortsetzen: %s", aumid, e)