Skip to content

Commit 5d2bff6

Browse files
Log when tasks fail + bump proto requirement (#124)
1 parent cc1d4c4 commit 5d2bff6

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

livekit-rtc/livekit/rtc/_utils.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
import asyncio
2+
import logging
23
from collections import deque
34
import ctypes
45
from typing import Callable, Generic, List, TypeVar
56

7+
logger = logging.getLogger("livekit")
8+
9+
10+
def task_done_logger(task: asyncio.Task) -> None:
11+
if task.cancelled():
12+
logger.info("task cancelled: %s", task)
13+
return
14+
15+
if task.exception():
16+
logger.error("task exception: %s", task, exc_info=task.exception())
17+
return
18+
619

720
def get_address(data: memoryview) -> int:
821
"""Get the address of a buffer using ctypes"""

livekit-rtc/livekit/rtc/audio_stream.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from ._ffi_client import FfiHandle, ffi_client
1919
from ._proto import audio_frame_pb2 as proto_audio_frame
2020
from ._proto import ffi_pb2 as proto_ffi
21-
from ._utils import RingQueue
21+
from ._utils import RingQueue, task_done_logger
2222
from .audio_frame import AudioFrame
2323
from .track import Track
2424

@@ -46,6 +46,7 @@ def __init__(
4646
self._info = stream_info
4747

4848
self._task = self._loop.create_task(self._run())
49+
self._task.add_done_callback(task_done_logger)
4950

5051
def __del__(self) -> None:
5152
ffi_client.queue.unsubscribe(self._ffi_queue)

livekit-rtc/livekit/rtc/video_stream.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from ._ffi_client import FfiHandle, ffi_client
1919
from ._proto import ffi_pb2 as proto_ffi
2020
from ._proto import video_frame_pb2 as proto_video_frame
21-
from ._utils import RingQueue
21+
from ._utils import RingQueue, task_done_logger
2222
from .track import Track
2323
from .video_frame import VideoFrame, VideoFrameBuffer
2424

@@ -45,6 +45,7 @@ def __init__(
4545
self._ffi_handle = FfiHandle(stream_info.handle.id)
4646
self._info = stream_info.info
4747
self._task = self._loop.create_task(self._run())
48+
self._task.add_done_callback(task_done_logger)
4849

4950
def __del__(self) -> None:
5051
ffi_client.queue.unsubscribe(self._ffi_queue)

livekit-rtc/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def run(self):
8383
license="Apache-2.0",
8484
packages=setuptools.find_namespace_packages(include=["livekit.*"]),
8585
python_requires=">=3.9.0",
86-
install_requires=["protobuf>=3.1.0", "types-protobuf>=3.1.0"],
86+
install_requires=["protobuf>=4", "types-protobuf>=4"],
8787
package_data={
8888
"livekit.rtc": ["resources/*", "_proto/*.py", "py.typed", "*.pyi", "**/*.pyi"],
8989
},

0 commit comments

Comments
 (0)