agora-python-server-sdk 2.1.3__tar.gz → 2.1.4__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 agora-python-server-sdk might be problematic. Click here for more details.

Files changed (40) hide show
  1. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/PKG-INFO +1 -1
  2. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_ctypes_handle/_ctypes_data.py +27 -8
  3. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/agora_base.py +3 -3
  4. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora_python_server_sdk.egg-info/PKG-INFO +1 -1
  5. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/setup.py +1 -1
  6. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/MANIFEST.in +0 -0
  7. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/README.md +0 -0
  8. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/__init__.py +0 -0
  9. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_ctypes_handle/_audio_frame_observer.py +0 -0
  10. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_ctypes_handle/_local_user_observer.py +0 -0
  11. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_ctypes_handle/_rtc_connection_observer.py +0 -0
  12. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_ctypes_handle/_video_encoded_frame_observer.py +0 -0
  13. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_ctypes_handle/_video_frame_observer.py +0 -0
  14. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/_utils/globals.py +0 -0
  15. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/agora_parameter.py +0 -0
  16. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/agora_service.py +0 -0
  17. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/audio_encoded_frame_sender.py +0 -0
  18. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/audio_frame_observer.py +0 -0
  19. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/audio_pcm_data_sender.py +0 -0
  20. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/audio_sessionctrl.py +0 -0
  21. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/audio_vad.py +0 -0
  22. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/local_audio_track.py +0 -0
  23. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/local_user.py +0 -0
  24. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/local_user_observer.py +0 -0
  25. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/local_video_track.py +0 -0
  26. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/media_node_factory.py +0 -0
  27. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/remote_audio_track.py +0 -0
  28. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/remote_video_track.py +0 -0
  29. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/rtc_connection.py +0 -0
  30. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/rtc_connection_observer.py +0 -0
  31. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/video_encoded_frame_observer.py +0 -0
  32. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/video_encoded_image_sender.py +0 -0
  33. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/video_frame_observer.py +0 -0
  34. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/video_frame_sender.py +0 -0
  35. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora/rtc/voice_detection.py +0 -0
  36. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora_python_server_sdk.egg-info/SOURCES.txt +0 -0
  37. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora_python_server_sdk.egg-info/dependency_links.txt +0 -0
  38. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/agora_python_server_sdk.egg-info/top_level.txt +0 -0
  39. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/pyproject.toml +0 -0
  40. {agora_python_server_sdk-2.1.3 → agora_python_server_sdk-2.1.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agora_python_server_sdk
3
- Version: 2.1.3
3
+ Version: 2.1.4
4
4
  Summary: A Python SDK for Agora Server
5
5
  Home-page: https://github.com/AgoraIO-Extensions/Agora-Python-Server-SDK
6
6
  Classifier: Intended Audience :: Developers
@@ -151,7 +151,7 @@ class VideoFrameInner(ctypes.Structure):
151
151
  rotation=self.rotation,
152
152
  render_time_ms=self.render_time_ms,
153
153
  avsync_type=self.avsync_type,
154
- metadata=ctypes.string_at(self.metadata_buffer, self.metadata_size).decode() if self.metadata_buffer else None,
154
+ metadata=ctypes.string_at(self.metadata_buffer, self.metadata_size) if self.metadata_buffer else None,
155
155
  shared_context=self.shared_context.decode() if self.shared_context else None,
156
156
  texture_id=self.texture_id,
157
157
  matrix=self.matrix,
@@ -770,12 +770,31 @@ class ExternalVideoFrameInner(ctypes.Structure):
770
770
 
771
771
  @staticmethod
772
772
  def create(frame: ExternalVideoFrame) -> 'ExternalVideoFrameInner':
773
- c_buffer = (ctypes.c_uint8 * len(frame.buffer)).from_buffer(frame.buffer)
774
- c_buffer_ptr = ctypes.cast(c_buffer, ctypes.c_void_p)
775
- c_metadata = bytearray(frame.metadata.encode('utf-8'))
776
- c_metadata_ptr = (ctypes.c_uint8 * len(c_metadata)).from_buffer(c_metadata)
777
- c_alpha_buffer = (ctypes.c_uint8 * len(frame.alpha_buffer)).from_buffer(frame.alpha_buffer)
778
- c_alpha_buffer_ptr = ctypes.cast(c_alpha_buffer, ctypes.c_void_p)
773
+ if frame.buffer is not None:
774
+ c_buffer = (ctypes.c_uint8 * len(frame.buffer)).from_buffer(frame.buffer)
775
+ c_buffer_ptr = ctypes.cast(c_buffer, ctypes.c_void_p)
776
+ else:
777
+ c_buffer_ptr = ctypes.c_void_p(0)
778
+
779
+
780
+ #aplha_buffer and is_fill alpha_buffer
781
+ if (frame.fill_alpha_buffer >0) and (frame.alpha_buffer is not None):
782
+ c_alpha_buffer = (ctypes.c_uint8 * len(frame.alpha_buffer)).from_buffer(frame.alpha_buffer)
783
+ c_alpha_buffer_ptr = ctypes.cast(c_alpha_buffer, ctypes.c_void_p)
784
+ else:
785
+ c_alpha_buffer_ptr = ctypes.c_void_p(0)
786
+
787
+ c_metadata_size = len (frame.metadata)
788
+ if frame.metadata is not None and c_metadata_size > 0:
789
+ c_metadata_ptr = (ctypes.c_uint8 * len(frame.metadata)).from_buffer(frame.metadata)
790
+ c_metadata_size = len(frame.metadata)
791
+ else:
792
+ c_metadata_ptr = ctypes.c_void_p(0)
793
+ c_metadata_size = 0
794
+
795
+
796
+
797
+
779
798
  return ExternalVideoFrameInner(
780
799
  frame.type,
781
800
  frame.format,
@@ -793,7 +812,7 @@ class ExternalVideoFrameInner(ctypes.Structure):
793
812
  frame.texture_id,
794
813
  (ctypes.c_float * 16)(*frame.matrix),
795
814
  c_metadata_ptr,
796
- len(c_metadata),
815
+ c_metadata_size,
797
816
  c_alpha_buffer_ptr,
798
817
  frame.fill_alpha_buffer,
799
818
  frame.alpha_mode
@@ -286,7 +286,7 @@ class VideoFrame():
286
286
  rotation: int = 0
287
287
  render_time_ms: int = 0
288
288
  avsync_type: int = 0
289
- metadata: str = None
289
+ metadata: bytearray = None
290
290
  shared_context: str = None
291
291
  texture_id: int = 0
292
292
  matrix: list = None
@@ -441,8 +441,8 @@ class ExternalVideoFrame:
441
441
  egl_type: int = 0
442
442
  texture_id: int = 0
443
443
  matrix: list = field(default_factory=list)
444
- metadata: str = ""
445
- alpha_buffer: bytearray = field(default_factory=bytearray)
444
+ metadata: bytearray = None #change type from str to bytearray to match the C++ version,i.e to support bytes as metadata
445
+ alpha_buffer: bytearray = None
446
446
  fill_alpha_buffer: int = 0
447
447
  alpha_mode: int = 0
448
448
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agora_python_server_sdk
3
- Version: 2.1.3
3
+ Version: 2.1.4
4
4
  Summary: A Python SDK for Agora Server
5
5
  Home-page: https://github.com/AgoraIO-Extensions/Agora-Python-Server-SDK
6
6
  Classifier: Intended Audience :: Developers
@@ -45,7 +45,7 @@ class CustomInstallCommand(install):
45
45
 
46
46
  setup(
47
47
  name='agora_python_server_sdk',
48
- version='2.1.3',
48
+ version='2.1.4',
49
49
  description='A Python SDK for Agora Server',
50
50
  long_description=open('README.md').read(),
51
51
  long_description_content_type='text/markdown',