sora-sdk 2024.4.0.dev11__tar.gz → 2024.4.0.dev14__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.dev11/src/sora_sdk.egg-info → sora_sdk-2024.4.0.dev14}/PKG-INFO +2 -1
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/pyproject.toml +3 -2
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk/sora_sdk_ext.cpython-310-darwin.so +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14/src/sora_sdk.egg-info}/PKG-INFO +2 -1
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_macos.py +62 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_simulcast.py +1 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/LICENSE +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/MANIFEST.in +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/NOTICE.md +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/README.md +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/buildbase.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/pypath.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/run.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/setup.cfg +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/setup.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk/__init__.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk/py.typed +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk/sora_sdk_ext.pyi +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk.egg-info/SOURCES.txt +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk.egg-info/dependency_links.txt +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk.egg-info/top_level.txt +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_ca_cert.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_messaging.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_openh264.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_re_offer_re_answer_sdp.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_sendonly_recvonly.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_signaling_message.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_sora_disconnect.py +0 -0
- {sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/tests/test_vad.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sora_sdk
|
|
3
|
-
Version: 2024.4.0.
|
|
3
|
+
Version: 2024.4.0.dev14
|
|
4
4
|
Summary: WebRTC SFU Sora Python SDK
|
|
5
5
|
Home-page: https://github.com/shiguredo/sora-python-sdk
|
|
6
6
|
Author-email: "Shiguredo Inc." <contact+pypi@shiguredo.jp>
|
|
@@ -190,6 +190,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
190
190
|
Classifier: Programming Language :: Python :: 3.10
|
|
191
191
|
Classifier: Programming Language :: Python :: 3.11
|
|
192
192
|
Classifier: Programming Language :: Python :: 3.12
|
|
193
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
193
194
|
Requires-Python: >=3.10
|
|
194
195
|
Description-Content-Type: text/markdown
|
|
195
196
|
License-File: LICENSE
|
|
@@ -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.dev14"
|
|
5
5
|
description = "WebRTC SFU Sora Python SDK"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
license = { file = "LICENSE" }
|
|
@@ -11,6 +11,7 @@ classifiers = [
|
|
|
11
11
|
"Programming Language :: Python :: 3.10",
|
|
12
12
|
"Programming Language :: Python :: 3.11",
|
|
13
13
|
"Programming Language :: Python :: 3.12",
|
|
14
|
+
"Programming Language :: Python :: 3.13",
|
|
14
15
|
]
|
|
15
16
|
requires-python = ">= 3.10"
|
|
16
17
|
|
|
@@ -56,7 +57,7 @@ build-backend = "setuptools.build_meta"
|
|
|
56
57
|
[tool.uv]
|
|
57
58
|
python-preference = "only-managed"
|
|
58
59
|
dev-dependencies = [
|
|
59
|
-
"nanobind~=2.
|
|
60
|
+
"nanobind~=2.2.0",
|
|
60
61
|
"setuptools>=75.0",
|
|
61
62
|
"build~=1.2.2",
|
|
62
63
|
"wheel~=0.44.0",
|
{sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/src/sora_sdk/sora_sdk_ext.cpython-310-darwin.so
RENAMED
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sora_sdk
|
|
3
|
-
Version: 2024.4.0.
|
|
3
|
+
Version: 2024.4.0.dev14
|
|
4
4
|
Summary: WebRTC SFU Sora Python SDK
|
|
5
5
|
Home-page: https://github.com/shiguredo/sora-python-sdk
|
|
6
6
|
Author-email: "Shiguredo Inc." <contact+pypi@shiguredo.jp>
|
|
@@ -190,6 +190,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
190
190
|
Classifier: Programming Language :: Python :: 3.10
|
|
191
191
|
Classifier: Programming Language :: Python :: 3.11
|
|
192
192
|
Classifier: Programming Language :: Python :: 3.12
|
|
193
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
193
194
|
Requires-Python: >=3.10
|
|
194
195
|
Description-Content-Type: text/markdown
|
|
195
196
|
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
|
|
File without changes
|
|
File without changes
|
{sora_sdk-2024.4.0.dev11 → sora_sdk-2024.4.0.dev14}/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
|