sora-sdk 2024.4.0.dev13__tar.gz → 2024.4.0.dev15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sora_sdk-2024.4.0.dev13/src/sora_sdk.egg-info → sora_sdk-2024.4.0.dev15}/PKG-INFO +1 -1
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/pyproject.toml +1 -1
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15/src/sora_sdk.egg-info}/PKG-INFO +1 -1
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_macos.py +62 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_simulcast.py +1 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/LICENSE +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/MANIFEST.in +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/NOTICE.md +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/README.md +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/buildbase.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/pypath.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/run.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/setup.cfg +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/setup.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk/__init__.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk/py.typed +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk/sora_sdk_ext.cpython-310-darwin.so +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk/sora_sdk_ext.pyi +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk.egg-info/SOURCES.txt +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk.egg-info/dependency_links.txt +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk.egg-info/top_level.txt +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_ca_cert.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_messaging.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_openh264.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_re_offer_re_answer_sdp.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_sendonly_recvonly.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_signaling_message.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_sora_disconnect.py +0 -0
- {sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/tests/test_vad.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sora_sdk"
|
|
3
3
|
authors = [{ name = "Shiguredo Inc.", email = "contact+pypi@shiguredo.jp" }]
|
|
4
|
-
version = "2024.4.0.
|
|
4
|
+
version = "2024.4.0.dev15"
|
|
5
5
|
description = "WebRTC SFU Sora Python SDK"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
license = { file = "LICENSE" }
|
|
@@ -58,6 +58,68 @@ def test_macos_video_hwa_sendonly(setup, video_codec_type):
|
|
|
58
58
|
assert outbound_rtp_stats["packetsSent"] > 0
|
|
59
59
|
|
|
60
60
|
|
|
61
|
+
@pytest.mark.skipif(sys.platform != "darwin", reason="macOS でのみ実行する")
|
|
62
|
+
@pytest.mark.parametrize(
|
|
63
|
+
("video_codec_type", "expected_implementation"),
|
|
64
|
+
[
|
|
65
|
+
("H264", "SimulcastEncoderAdapter (VideoToolbox, VideoToolbox, VideoToolbox)"),
|
|
66
|
+
("H265", "SimulcastEncoderAdapter (VideoToolbox, VideoToolbox, VideoToolbox)"),
|
|
67
|
+
],
|
|
68
|
+
)
|
|
69
|
+
def test_macos_simulcast(setup, video_codec_type, expected_implementation):
|
|
70
|
+
signaling_urls = setup.get("signaling_urls")
|
|
71
|
+
channel_id_prefix = setup.get("channel_id_prefix")
|
|
72
|
+
metadata = setup.get("metadata")
|
|
73
|
+
|
|
74
|
+
channel_id = f"{channel_id_prefix}_{__name__}_{sys._getframe().f_code.co_name}_{uuid.uuid4()}"
|
|
75
|
+
|
|
76
|
+
sendonly = SoraClient(
|
|
77
|
+
signaling_urls,
|
|
78
|
+
SoraRole.SENDONLY,
|
|
79
|
+
channel_id,
|
|
80
|
+
simulcast=True,
|
|
81
|
+
audio=False,
|
|
82
|
+
video=True,
|
|
83
|
+
video_codec_type=video_codec_type,
|
|
84
|
+
video_bit_rate=3000,
|
|
85
|
+
metadata=metadata,
|
|
86
|
+
video_width=1280,
|
|
87
|
+
video_height=720,
|
|
88
|
+
use_hwa=True,
|
|
89
|
+
)
|
|
90
|
+
sendonly.connect(fake_video=True)
|
|
91
|
+
|
|
92
|
+
time.sleep(5)
|
|
93
|
+
|
|
94
|
+
sendonly_stats = sendonly.get_stats()
|
|
95
|
+
|
|
96
|
+
sendonly.disconnect()
|
|
97
|
+
|
|
98
|
+
# "type": "answer" の SDP で Simulcast があるかどうか
|
|
99
|
+
assert sendonly.answer_message is not None
|
|
100
|
+
assert "sdp" in sendonly.answer_message
|
|
101
|
+
assert "a=simulcast:send r0;r1;r2" in sendonly.answer_message["sdp"]
|
|
102
|
+
|
|
103
|
+
# codec が無かったら StopIteration 例外が上がる
|
|
104
|
+
sendonly_codec_stats = next(s for s in sendonly_stats if s.get("type") == "codec")
|
|
105
|
+
assert sendonly_codec_stats["mimeType"] == f"video/{video_codec_type}"
|
|
106
|
+
|
|
107
|
+
# 複数のoutbound-rtp統計情報を取得
|
|
108
|
+
outbound_rtp_stats = [
|
|
109
|
+
s for s in sendonly_stats if s.get("type") == "outbound-rtp" and s.get("kind") == "video"
|
|
110
|
+
]
|
|
111
|
+
assert len(outbound_rtp_stats) == 3
|
|
112
|
+
|
|
113
|
+
# rid でソート
|
|
114
|
+
sorted_stats = sorted(outbound_rtp_stats, key=lambda x: x.get("rid", ""))
|
|
115
|
+
|
|
116
|
+
for i, rtp_stat in enumerate(sorted_stats):
|
|
117
|
+
assert rtp_stat["rid"] == f"r{i}"
|
|
118
|
+
assert rtp_stat["encoderImplementation"] == expected_implementation
|
|
119
|
+
assert rtp_stat["bytesSent"] > 0
|
|
120
|
+
assert rtp_stat["packetsSent"] > 0
|
|
121
|
+
|
|
122
|
+
|
|
61
123
|
@pytest.mark.skip(reason="ローカルでは成功する")
|
|
62
124
|
def test_macos_h264_sendonly_recvonly(setup):
|
|
63
125
|
signaling_urls = setup.get("signaling_urls")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk/sora_sdk_ext.cpython-310-darwin.so
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sora_sdk-2024.4.0.dev13 → sora_sdk-2024.4.0.dev15}/src/sora_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|