sora-sdk 2025.1.0.dev14__tar.gz → 2025.1.0.dev16__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.
Potentially problematic release.
This version of sora-sdk might be problematic. Click here for more details.
- {sora_sdk-2025.1.0.dev14/src/sora_sdk.egg-info → sora_sdk-2025.1.0.dev16}/PKG-INFO +1 -1
- sora_sdk-2025.1.0.dev16/pyproject.toml +50 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk/sora_sdk_ext.cpython-311-darwin.so +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk/sora_sdk_ext.pyi +2 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16/src/sora_sdk.egg-info}/PKG-INFO +1 -1
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk.egg-info/SOURCES.txt +0 -1
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_openh264.py +73 -0
- sora_sdk-2025.1.0.dev14/pyproject.toml +0 -79
- sora_sdk-2025.1.0.dev14/tests/test_codec_preference.py +0 -124
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/LICENSE +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/MANIFEST.in +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/NOTICE.md +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/README.md +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/buildbase.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/pypath.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/run.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/setup.cfg +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/setup.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk/__init__.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk/py.typed +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk.egg-info/dependency_links.txt +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk.egg-info/top_level.txt +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_amd_amf.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_apple_video_toolbox.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_authz.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_authz_simulcast.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_ca_cert.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_capability.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_degradation_preference.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_encoded_transform.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_intel_vpl.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_memory_leak.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_messaging.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_messaging_header.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_nvidia_video_codec_sdk.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_opus.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_re_offer_re_answer_sdp.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_sendonly_recvonly.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_signaling.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_signaling_message.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_signaling_notify.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_simulcast.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_sora_disconnect.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_type_disconnect.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_type_switched.py +0 -0
- {sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/tests/test_vad.py +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sora_sdk"
|
|
3
|
+
authors = [{ name = "Shiguredo Inc.", email = "contact+pypi@shiguredo.jp" }]
|
|
4
|
+
version = "2025.1.0.dev16"
|
|
5
|
+
description = "WebRTC SFU Sora Python SDK"
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
license = { file = "LICENSE" }
|
|
8
|
+
classifiers = [
|
|
9
|
+
"License :: OSI Approved :: Apache Software License",
|
|
10
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
11
|
+
"Programming Language :: Python :: 3.11",
|
|
12
|
+
"Programming Language :: Python :: 3.12",
|
|
13
|
+
"Programming Language :: Python :: 3.13",
|
|
14
|
+
]
|
|
15
|
+
requires-python = ">= 3.10"
|
|
16
|
+
|
|
17
|
+
[project.urls]
|
|
18
|
+
Source = "https://github.com/shiguredo/sora-python-sdk"
|
|
19
|
+
Documentation = "https://sora-python-sdk.shiguredo.jp"
|
|
20
|
+
Discord = "https://discord.gg/shiguredo"
|
|
21
|
+
|
|
22
|
+
[build-system]
|
|
23
|
+
requires = ["setuptools~=76.0", "wheel~=0.45.1"]
|
|
24
|
+
build-backend = "setuptools.build_meta"
|
|
25
|
+
|
|
26
|
+
[tool.uv]
|
|
27
|
+
python-preference = "only-managed"
|
|
28
|
+
dev-dependencies = [
|
|
29
|
+
"nanobind~=2.5.0",
|
|
30
|
+
"setuptools~=76.0",
|
|
31
|
+
"build~=1.2.2.post1",
|
|
32
|
+
"wheel~=0.45.1",
|
|
33
|
+
"typing-extensions",
|
|
34
|
+
"python-dotenv",
|
|
35
|
+
"numpy",
|
|
36
|
+
"httpx",
|
|
37
|
+
"pytest",
|
|
38
|
+
"ruff",
|
|
39
|
+
"mypy",
|
|
40
|
+
"pyjwt",
|
|
41
|
+
"pytest-repeat",
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
[tool.ruff]
|
|
45
|
+
target-version = "py310"
|
|
46
|
+
line-length = 100
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
[tool.pytest.ini_options]
|
|
50
|
+
xfail_strict = true
|
{sora_sdk-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/src/sora_sdk/sora_sdk_ext.cpython-311-darwin.so
RENAMED
|
Binary file
|
|
@@ -488,3 +488,5 @@ def create_video_codec_preference_from_implementation(arg0: SoraVideoCodecCapabi
|
|
|
488
488
|
def enable_libwebrtc_log(arg: SoraLoggingSeverity, /) -> None: ...
|
|
489
489
|
|
|
490
490
|
def get_video_codec_capability(openh264: str | None = None) -> SoraVideoCodecCapability: ...
|
|
491
|
+
|
|
492
|
+
def rtc_log(arg0: SoraLoggingSeverity, arg1: str, /) -> None: ...
|
|
@@ -6,12 +6,85 @@ import pytest
|
|
|
6
6
|
from client import SoraClient, SoraRole
|
|
7
7
|
|
|
8
8
|
from sora_sdk import (
|
|
9
|
+
Sora,
|
|
9
10
|
SoraVideoCodecImplementation,
|
|
10
11
|
SoraVideoCodecPreference,
|
|
11
12
|
SoraVideoCodecType,
|
|
13
|
+
get_video_codec_capability,
|
|
12
14
|
)
|
|
13
15
|
|
|
14
16
|
|
|
17
|
+
def test_openh264_get_codec_capability(setup):
|
|
18
|
+
openh264_path = setup.get("openh264_path")
|
|
19
|
+
capability = get_video_codec_capability(openh264_path)
|
|
20
|
+
|
|
21
|
+
cisco_openh264_available = False
|
|
22
|
+
|
|
23
|
+
for e in capability.engines:
|
|
24
|
+
if e.name == SoraVideoCodecImplementation.CISCO_OPENH264:
|
|
25
|
+
cisco_openh264_available = True
|
|
26
|
+
assert cisco_openh264_available is True
|
|
27
|
+
|
|
28
|
+
codecs = []
|
|
29
|
+
for e in capability.engines:
|
|
30
|
+
# macOS では INTERNAL の Video Toolbox が利用されるので OpenH264 は採用しないようにする
|
|
31
|
+
if sys.platform == "darwin":
|
|
32
|
+
if e.name == SoraVideoCodecImplementation.CISCO_OPENH264:
|
|
33
|
+
continue
|
|
34
|
+
|
|
35
|
+
for c in e.codecs:
|
|
36
|
+
if c.decoder or c.encoder:
|
|
37
|
+
# encoder/decoder どちらかが true であれば採用する
|
|
38
|
+
if c.decoder or c.encoder:
|
|
39
|
+
codecs.append(
|
|
40
|
+
SoraVideoCodecPreference.Codec(
|
|
41
|
+
type=c.type,
|
|
42
|
+
decoder=e.name,
|
|
43
|
+
encoder=e.name,
|
|
44
|
+
)
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# エラーにならないことを確認する
|
|
48
|
+
Sora(
|
|
49
|
+
video_codec_preference=SoraVideoCodecPreference(
|
|
50
|
+
codecs=codecs,
|
|
51
|
+
),
|
|
52
|
+
openh264=openh264_path,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def test_openh264_video_codec_preference(setup):
|
|
57
|
+
openh264_path = setup.get("openh264_path")
|
|
58
|
+
Sora(
|
|
59
|
+
video_codec_preference=SoraVideoCodecPreference(
|
|
60
|
+
codecs=[
|
|
61
|
+
SoraVideoCodecPreference.Codec(
|
|
62
|
+
type=SoraVideoCodecType.VP8,
|
|
63
|
+
decoder=SoraVideoCodecImplementation.INTERNAL,
|
|
64
|
+
encoder=SoraVideoCodecImplementation.INTERNAL,
|
|
65
|
+
),
|
|
66
|
+
SoraVideoCodecPreference.Codec(
|
|
67
|
+
type=SoraVideoCodecType.VP9,
|
|
68
|
+
decoder=SoraVideoCodecImplementation.INTERNAL,
|
|
69
|
+
encoder=SoraVideoCodecImplementation.INTERNAL,
|
|
70
|
+
),
|
|
71
|
+
SoraVideoCodecPreference.Codec(
|
|
72
|
+
type=SoraVideoCodecType.AV1,
|
|
73
|
+
decoder=SoraVideoCodecImplementation.INTERNAL,
|
|
74
|
+
encoder=SoraVideoCodecImplementation.INTERNAL,
|
|
75
|
+
),
|
|
76
|
+
# H.264 だけは OpenH264 を利用するようにする
|
|
77
|
+
SoraVideoCodecPreference.Codec(
|
|
78
|
+
type=SoraVideoCodecType.H264,
|
|
79
|
+
decoder=SoraVideoCodecImplementation.CISCO_OPENH264,
|
|
80
|
+
encoder=SoraVideoCodecImplementation.CISCO_OPENH264,
|
|
81
|
+
),
|
|
82
|
+
],
|
|
83
|
+
),
|
|
84
|
+
openh264=openh264_path,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
|
|
15
88
|
def test_openh264_sendonly_recvonly(setup):
|
|
16
89
|
signaling_urls = setup.get("signaling_urls")
|
|
17
90
|
channel_id_prefix = setup.get("channel_id_prefix")
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
[project]
|
|
2
|
-
name = "sora_sdk"
|
|
3
|
-
authors = [{ name = "Shiguredo Inc.", email = "contact+pypi@shiguredo.jp" }]
|
|
4
|
-
version = "2025.1.0.dev14"
|
|
5
|
-
description = "WebRTC SFU Sora Python SDK"
|
|
6
|
-
readme = "README.md"
|
|
7
|
-
license = { file = "LICENSE" }
|
|
8
|
-
classifiers = [
|
|
9
|
-
"License :: OSI Approved :: Apache Software License",
|
|
10
|
-
"Programming Language :: Python :: 3 :: Only",
|
|
11
|
-
"Programming Language :: Python :: 3.11",
|
|
12
|
-
"Programming Language :: Python :: 3.12",
|
|
13
|
-
"Programming Language :: Python :: 3.13",
|
|
14
|
-
]
|
|
15
|
-
requires-python = ">= 3.10"
|
|
16
|
-
|
|
17
|
-
[project.urls]
|
|
18
|
-
Source = "https://github.com/shiguredo/sora-python-sdk"
|
|
19
|
-
Documentation = "https://sora-python-sdk.shiguredo.jp"
|
|
20
|
-
Discord = "https://discord.gg/shiguredo"
|
|
21
|
-
|
|
22
|
-
# build-system 設定がなぜ必要なのか
|
|
23
|
-
#
|
|
24
|
-
# pip version 23 以前は、pip がデフォルトで設定する build-system.requires に setuptools, wheel が含まれていたので
|
|
25
|
-
# 特になにもしなくても pip install でビルドできていたが、pip 24 以降はデフォルトから wheel が削除され、
|
|
26
|
-
# setuptools のみがデフォルトの requires になった。この影響で wheel を build-system.requires で指定しないと
|
|
27
|
-
# `ModuleNotFoundError: No module named 'wheel'` が発生するようになった。
|
|
28
|
-
# 回避策として事前に wheel をインストールすれば良いと思うかもしれないが、pip などのビルドフロントエンドは
|
|
29
|
-
# build-system.requires の下に列挙されているビルド時の依存関係 (と、その依存関係)だけをインストールする先としての一時的な仮想環境を作成
|
|
30
|
-
# するため、事前にインストールした wheel はビルド時の依存関係として認識されない。
|
|
31
|
-
#
|
|
32
|
-
# この問題に対応するため build-system.requires に wheel と setuptools を指定し、
|
|
33
|
-
# ソース成果物から pip install (今回だと pip install -e file:.) されるときに
|
|
34
|
-
# 必要な依存関係が伝わるようにした。
|
|
35
|
-
#
|
|
36
|
-
# sora-python-sdk の setup.py は setuptools と wheel を必要としているので、requires の指定はこうなっている。
|
|
37
|
-
# build-backend の指定方法は、setuptools のドキュメントに記載があったのでそのまま採用した。
|
|
38
|
-
#
|
|
39
|
-
# setuptools と wheel のバージョン指定について
|
|
40
|
-
# dev-dependencies に指定している setuptools と wheel のバージョンに合わせているので
|
|
41
|
-
# dev-dependencies に指定しているバージョンを変更した時は、build-system.requires に指定しているバージョンも変更した方が良い。
|
|
42
|
-
#
|
|
43
|
-
# 参考:
|
|
44
|
-
# - https://packaging.python.org/ja/latest/
|
|
45
|
-
# - Python パッケージを配布・インストールする方法について包括的に解説されていて参考になる
|
|
46
|
-
# - https://packaging.python.org/ja/latest/guides/modernize-setup-py-project/
|
|
47
|
-
# - setup.py を pyproject.toml と共存させる設定をしたいときに参考になる
|
|
48
|
-
# - https://packaging.python.org/ja/latest/guides/modernize-setup-py-project/#what-is-the-build-isolation-feature
|
|
49
|
-
# - なぜ、ビルド前に wheel をインストールしてもビルド時の依存関係として認識されないのかについて記載されていた
|
|
50
|
-
# - https://setuptools.pypa.io/en/latest/build_meta.html
|
|
51
|
-
# - setuptools の build-system サポートについて解説されていて参考になる
|
|
52
|
-
[build-system]
|
|
53
|
-
requires = ["setuptools~=75.7", "wheel~=0.45.1"]
|
|
54
|
-
build-backend = "setuptools.build_meta"
|
|
55
|
-
|
|
56
|
-
[tool.uv]
|
|
57
|
-
python-preference = "only-managed"
|
|
58
|
-
dev-dependencies = [
|
|
59
|
-
"nanobind~=2.5.0",
|
|
60
|
-
"setuptools~=75.7",
|
|
61
|
-
"build~=1.2.2.post1",
|
|
62
|
-
"wheel~=0.45.1",
|
|
63
|
-
"typing-extensions",
|
|
64
|
-
"python-dotenv",
|
|
65
|
-
"numpy",
|
|
66
|
-
"httpx",
|
|
67
|
-
"pytest",
|
|
68
|
-
"ruff",
|
|
69
|
-
"mypy",
|
|
70
|
-
"pyjwt",
|
|
71
|
-
]
|
|
72
|
-
|
|
73
|
-
[tool.ruff]
|
|
74
|
-
target-version = "py310"
|
|
75
|
-
line-length = 100
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
[tool.pytest.ini_options]
|
|
79
|
-
xfail_strict = true
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
|
|
3
|
-
from sora_sdk import (
|
|
4
|
-
Sora,
|
|
5
|
-
SoraVideoCodecImplementation,
|
|
6
|
-
SoraVideoCodecPreference,
|
|
7
|
-
SoraVideoCodecType,
|
|
8
|
-
get_video_codec_capability,
|
|
9
|
-
)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
# このテストでは Linux では NVIDIA Video Codec SDK > Intel VPL > OpenH264 の順で優先される
|
|
13
|
-
# このテストでは Windows では NVIDIA Video Codec SDK > Intel VPL の順で優先される
|
|
14
|
-
# このテストでは macOS では Video Toolbox >OpenH264 の順で優先される
|
|
15
|
-
def test_get_codec_capability(setup):
|
|
16
|
-
openh264_path = setup.get("openh264_path")
|
|
17
|
-
capability = get_video_codec_capability(openh264_path)
|
|
18
|
-
|
|
19
|
-
intel_vpl_available = False
|
|
20
|
-
cisco_openh264_available = False
|
|
21
|
-
nvidia_video_codec_sdk_available = False
|
|
22
|
-
|
|
23
|
-
for e in capability.engines:
|
|
24
|
-
if e.name == SoraVideoCodecImplementation.INTEL_VPL:
|
|
25
|
-
intel_vpl_available = True
|
|
26
|
-
if e.name == SoraVideoCodecImplementation.CISCO_OPENH264:
|
|
27
|
-
cisco_openh264_available = True
|
|
28
|
-
if e.name == SoraVideoCodecImplementation.NVIDIA_VIDEO_CODEC_SDK:
|
|
29
|
-
nvidia_video_codec_sdk_available = True
|
|
30
|
-
|
|
31
|
-
match sys.platform:
|
|
32
|
-
case "linux":
|
|
33
|
-
assert openh264_path is not None
|
|
34
|
-
assert cisco_openh264_available is True
|
|
35
|
-
case "darwin":
|
|
36
|
-
assert openh264_path is not None
|
|
37
|
-
assert cisco_openh264_available is True
|
|
38
|
-
case "win32":
|
|
39
|
-
# SDK 的には Windows は非対応だが GitHub Actions の E2E テストの OpenH264 のパスは指定してある
|
|
40
|
-
assert openh264_path is not None
|
|
41
|
-
assert cisco_openh264_available is True
|
|
42
|
-
|
|
43
|
-
codecs = []
|
|
44
|
-
for e in capability.engines:
|
|
45
|
-
if sys.platform == "linux":
|
|
46
|
-
# Intel VPL があったら Open H.264 は採用しない
|
|
47
|
-
if intel_vpl_available and e.name == SoraVideoCodecImplementation.CISCO_OPENH264:
|
|
48
|
-
continue
|
|
49
|
-
|
|
50
|
-
# NVIDIA Video Codec SDK があったら Intel VPL は採用しない
|
|
51
|
-
if (
|
|
52
|
-
nvidia_video_codec_sdk_available
|
|
53
|
-
and e.name == SoraVideoCodecImplementation.INTEL_VPL
|
|
54
|
-
):
|
|
55
|
-
continue
|
|
56
|
-
|
|
57
|
-
# NVIDIA Video Codec SDK があったら OpenH264 は採用しない
|
|
58
|
-
if (
|
|
59
|
-
nvidia_video_codec_sdk_available
|
|
60
|
-
and e.name == SoraVideoCodecImplementation.CISCO_OPENH264
|
|
61
|
-
):
|
|
62
|
-
continue
|
|
63
|
-
|
|
64
|
-
# macOS では INTERNAL の Video Toolbox が利用されるので OpenH264 は採用しないようにする
|
|
65
|
-
if sys.platform == "darwin":
|
|
66
|
-
if e.name == SoraVideoCodecImplementation.CISCO_OPENH264:
|
|
67
|
-
continue
|
|
68
|
-
|
|
69
|
-
for c in e.codecs:
|
|
70
|
-
if c.decoder or c.encoder:
|
|
71
|
-
# encoder/decoder どちらかが true であれば採用する
|
|
72
|
-
if c.decoder or c.encoder:
|
|
73
|
-
codecs.append(
|
|
74
|
-
SoraVideoCodecPreference.Codec(
|
|
75
|
-
type=c.type,
|
|
76
|
-
decoder=e.name,
|
|
77
|
-
encoder=e.name,
|
|
78
|
-
)
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
# print(e.parameters.nvcodec_gpu_device_name)
|
|
82
|
-
# print(e.parameters.openh264_path)
|
|
83
|
-
# print(e.parameters.version)
|
|
84
|
-
# print(e.parameters.vpl_impl)
|
|
85
|
-
# print(e.parameters.vpl_impl_value)
|
|
86
|
-
|
|
87
|
-
Sora(
|
|
88
|
-
video_codec_preference=SoraVideoCodecPreference(
|
|
89
|
-
codecs=codecs,
|
|
90
|
-
),
|
|
91
|
-
openh264=openh264_path,
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
def test_video_codec_preference(setup):
|
|
96
|
-
openh264_path = setup.get("openh264_path")
|
|
97
|
-
Sora(
|
|
98
|
-
video_codec_preference=SoraVideoCodecPreference(
|
|
99
|
-
codecs=[
|
|
100
|
-
SoraVideoCodecPreference.Codec(
|
|
101
|
-
type=SoraVideoCodecType.VP8,
|
|
102
|
-
decoder=SoraVideoCodecImplementation.INTERNAL,
|
|
103
|
-
encoder=SoraVideoCodecImplementation.INTERNAL,
|
|
104
|
-
),
|
|
105
|
-
SoraVideoCodecPreference.Codec(
|
|
106
|
-
type=SoraVideoCodecType.VP9,
|
|
107
|
-
decoder=SoraVideoCodecImplementation.INTERNAL,
|
|
108
|
-
encoder=SoraVideoCodecImplementation.INTERNAL,
|
|
109
|
-
),
|
|
110
|
-
SoraVideoCodecPreference.Codec(
|
|
111
|
-
type=SoraVideoCodecType.AV1,
|
|
112
|
-
decoder=SoraVideoCodecImplementation.INTERNAL,
|
|
113
|
-
encoder=SoraVideoCodecImplementation.INTERNAL,
|
|
114
|
-
),
|
|
115
|
-
# H.264 だけは OpenH264 を利用するようにする
|
|
116
|
-
SoraVideoCodecPreference.Codec(
|
|
117
|
-
type=SoraVideoCodecType.H264,
|
|
118
|
-
decoder=SoraVideoCodecImplementation.CISCO_OPENH264,
|
|
119
|
-
encoder=SoraVideoCodecImplementation.CISCO_OPENH264,
|
|
120
|
-
),
|
|
121
|
-
],
|
|
122
|
-
),
|
|
123
|
-
openh264=openh264_path,
|
|
124
|
-
)
|
|
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-2025.1.0.dev14 → sora_sdk-2025.1.0.dev16}/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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|