sora-sdk 2025.4.0.dev1__tar.gz → 2025.4.0.dev2__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.

Files changed (47) hide show
  1. {sora_sdk-2025.4.0.dev1/src/sora_sdk.egg-info → sora_sdk-2025.4.0.dev2}/PKG-INFO +1 -1
  2. sora_sdk-2025.4.0.dev2/VERSION +1 -0
  3. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk/sora_sdk_ext.cpython-311-darwin.so +0 -0
  4. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2/src/sora_sdk.egg-info}/PKG-INFO +1 -1
  5. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_intel_vpl.py +56 -1
  6. sora_sdk-2025.4.0.dev1/VERSION +0 -1
  7. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/LICENSE +0 -0
  8. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/MANIFEST.in +0 -0
  9. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/README.md +0 -0
  10. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/buildbase.py +0 -0
  11. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/pypath.py +0 -0
  12. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/pyproject.toml +0 -0
  13. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/run.py +0 -0
  14. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/setup.cfg +0 -0
  15. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/setup.py +0 -0
  16. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk/__init__.py +0 -0
  17. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk/py.typed +0 -0
  18. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk/sora_sdk_ext.pyi +0 -0
  19. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk.egg-info/SOURCES.txt +0 -0
  20. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk.egg-info/dependency_links.txt +0 -0
  21. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/src/sora_sdk.egg-info/top_level.txt +0 -0
  22. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_amd_amf.py +0 -0
  23. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_apple_video_toolbox.py +0 -0
  24. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_authz.py +0 -0
  25. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_authz_simulcast.py +0 -0
  26. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_ca_cert.py +0 -0
  27. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_capability.py +0 -0
  28. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_degradation_preference.py +0 -0
  29. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_encoded_transform.py +0 -0
  30. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_key_frame_request.py +0 -0
  31. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_messaging.py +0 -0
  32. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_messaging_header.py +0 -0
  33. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_nvidia_video_codec_sdk.py +0 -0
  34. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_openh264.py +0 -0
  35. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_openh264_simulcast.py +0 -0
  36. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_opus.py +0 -0
  37. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_re_offer_re_answer_sdp.py +0 -0
  38. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_sendonly_recvonly.py +0 -0
  39. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_signaling.py +0 -0
  40. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_signaling_message.py +0 -0
  41. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_signaling_notify.py +0 -0
  42. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_simulcast.py +0 -0
  43. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_sora_disconnect.py +0 -0
  44. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_type_disconnect.py +0 -0
  45. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_type_switched.py +0 -0
  46. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_vad.py +0 -0
  47. {sora_sdk-2025.4.0.dev1 → sora_sdk-2025.4.0.dev2}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sora_sdk
3
- Version: 2025.4.0.dev1
3
+ Version: 2025.4.0.dev2
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>
@@ -0,0 +1 @@
1
+ 2025.4.0.dev2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sora_sdk
3
- Version: 2025.4.0.dev1
3
+ Version: 2025.4.0.dev2
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>
@@ -3,7 +3,7 @@ import platform
3
3
  import time
4
4
 
5
5
  import pytest
6
- from api import request_key_frame_api
6
+ from api import get_stats_connection_api, request_key_frame_api
7
7
  from client import (
8
8
  SoraClient,
9
9
  SoraRole,
@@ -552,3 +552,58 @@ def test_intel_vpl_decode(
552
552
  assert inbound_rtp_stats["bytesReceived"] > 0
553
553
  assert inbound_rtp_stats["packetsReceived"] > 0
554
554
  assert inbound_rtp_stats["keyFramesDecoded"] > 0
555
+
556
+
557
+ @pytest.mark.skipif(os.environ.get("INTEL_VPL") is None, reason="Intel VPL でのみ実行する")
558
+ def test_intel_vpl_av1_rtp_hdr_ext(settings):
559
+ sendonly = SoraClient(
560
+ settings,
561
+ SoraRole.SENDONLY,
562
+ audio=False,
563
+ video=True,
564
+ video_codec_type="AV1",
565
+ video_codec_preference=SoraVideoCodecPreference(
566
+ codecs=[
567
+ SoraVideoCodecPreference.Codec(
568
+ type=codec_type_string_to_codec_type("AV1"),
569
+ # エンコーダーはソフトウェアを利用する
570
+ encoder=SoraVideoCodecImplementation.INTEL_VPL,
571
+ ),
572
+ ]
573
+ ),
574
+ )
575
+ sendonly.connect(fake_video=True)
576
+
577
+ time.sleep(3)
578
+
579
+ assert sendonly.connection_id is not None
580
+ assert sendonly.offer_message is not None
581
+ assert "sdp" in sendonly.offer_message
582
+ assert "AV1" in sendonly.offer_message["sdp"]
583
+ assert (
584
+ "https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension"
585
+ in sendonly.offer_message["sdp"]
586
+ )
587
+
588
+ assert sendonly.answer_message is not None
589
+ assert "sdp" in sendonly.answer_message
590
+ assert "AV1" in sendonly.answer_message["sdp"]
591
+ assert (
592
+ "https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension"
593
+ in sendonly.answer_message["sdp"]
594
+ )
595
+
596
+ # コネクションの統計情報を取得
597
+ response = get_stats_connection_api(
598
+ settings.api_url, sendonly.channel_id, sendonly.connection_id
599
+ )
600
+ # FIX: ここで失敗すると disconnect が実行されずメモリーリークになる
601
+ assert response.status_code == 200
602
+ stats = response.json()
603
+
604
+ sendonly.disconnect()
605
+
606
+ # AV1 の RTP ヘッダー拡張が送られてきていることを確認
607
+ assert stats["rtp_hdrext"]["total_received_rtp_hdrext_av1_rtp_sepc"] > 0, (
608
+ "Dependency Descriptor RTP Header Extension が Python SDK から送られてきていません"
609
+ )
@@ -1 +0,0 @@
1
- 2025.4.0.dev1