agora-python-server-sdk 2.1.1__tar.gz → 2.1.3__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.1 → agora_python_server_sdk-2.1.3}/PKG-INFO +1 -5
  2. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_ctypes_handle/_audio_frame_observer.py +7 -4
  3. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_ctypes_handle/_ctypes_data.py +3 -3
  4. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_ctypes_handle/_local_user_observer.py +8 -2
  5. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/agora_base.py +1 -1
  6. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/local_user_observer.py +1 -1
  7. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora_python_server_sdk.egg-info/PKG-INFO +2 -6
  8. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/setup.py +1 -1
  9. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/MANIFEST.in +0 -0
  10. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/README.md +0 -0
  11. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/__init__.py +0 -0
  12. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_ctypes_handle/_rtc_connection_observer.py +0 -0
  13. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_ctypes_handle/_video_encoded_frame_observer.py +0 -0
  14. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_ctypes_handle/_video_frame_observer.py +0 -0
  15. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/_utils/globals.py +0 -0
  16. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/agora_parameter.py +0 -0
  17. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/agora_service.py +0 -0
  18. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/audio_encoded_frame_sender.py +0 -0
  19. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/audio_frame_observer.py +0 -0
  20. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/audio_pcm_data_sender.py +0 -0
  21. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/audio_sessionctrl.py +0 -0
  22. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/audio_vad.py +0 -0
  23. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/local_audio_track.py +0 -0
  24. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/local_user.py +0 -0
  25. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/local_video_track.py +0 -0
  26. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/media_node_factory.py +0 -0
  27. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/remote_audio_track.py +0 -0
  28. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/remote_video_track.py +0 -0
  29. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/rtc_connection.py +0 -0
  30. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/rtc_connection_observer.py +0 -0
  31. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/video_encoded_frame_observer.py +0 -0
  32. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/video_encoded_image_sender.py +0 -0
  33. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/video_frame_observer.py +0 -0
  34. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/video_frame_sender.py +0 -0
  35. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora/rtc/voice_detection.py +0 -0
  36. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora_python_server_sdk.egg-info/SOURCES.txt +0 -0
  37. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora_python_server_sdk.egg-info/dependency_links.txt +0 -0
  38. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/agora_python_server_sdk.egg-info/top_level.txt +0 -0
  39. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/pyproject.toml +0 -0
  40. {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.3}/setup.cfg +0 -0
@@ -1,10 +1,8 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agora_python_server_sdk
3
- Version: 2.1.1
3
+ Version: 2.1.3
4
4
  Summary: A Python SDK for Agora Server
5
5
  Home-page: https://github.com/AgoraIO-Extensions/Agora-Python-Server-SDK
6
- License: UNKNOWN
7
- Platform: UNKNOWN
8
6
  Classifier: Intended Audience :: Developers
9
7
  Classifier: License :: OSI Approved :: MIT License
10
8
  Classifier: Topic :: Multimedia :: Sound/Audio
@@ -51,5 +49,3 @@ pip install agora_python_server_sdk
51
49
  python agora_rtc/examples/example_audio_pcm_send.py --appId=xxx --channelId=xxx --audioFile=./test_data/demo.pcm --sampleRate=16000 --numOfChannels=1
52
50
  ```
53
51
 
54
-
55
-
@@ -53,26 +53,29 @@ class AudioFrameObserverInner(ctypes.Structure):
53
53
 
54
54
  def _on_record_audio_frame(self, local_user_handle, channel_id, audio_frame_inner):
55
55
  logger.debug(f"AudioFrameObserverInner _on_record_audio_frame: {local_user_handle}, {channel_id}, {audio_frame_inner}")
56
- channel_id_str = channel_id.decode('utf-8')
56
+ channel_id_str = channel_id.decode('utf-8') if channel_id else ""
57
57
  frame = audio_frame_inner.contents.get()
58
58
  ret = self.observer.on_record_audio_frame(self.local_user, channel_id_str, frame)
59
59
  return ret
60
60
 
61
61
  def _on_playback_audio_frame(self, local_user_handle, channel_id, audio_frame_inner):
62
62
  logger.debug(f"AudioFrameObserverInner _on_playback_audio_frame: {local_user_handle}, {channel_id}, {audio_frame_inner}")
63
- channel_id_str = channel_id.decode('utf-8')
63
+ channel_id_str = channel_id.decode('utf-8') if channel_id else ""
64
64
  frame = audio_frame_inner.contents.get()
65
65
  ret = self.observer.on_playback_audio_frame(self.local_user, channel_id_str, frame)
66
66
  return ret
67
67
 
68
68
  def _on_mixed_audio_frame(self, local_user_handle, channel_id, audio_frame_inner):
69
69
  logger.debug(f"AudioFrameObserverInner _on_mixed_audio_frame: {local_user_handle}, {channel_id}, {audio_frame_inner}")
70
- ret = self.observer.on_mixed_audio_frame(self.local_user, audio_frame_inner)
70
+ channel_id_str = channel_id.decode('utf-8') if channel_id else ""
71
+ frame = audio_frame_inner.contents.get()
72
+ ret = self.observer.on_mixed_audio_frame(self.local_user, channel_id_str, frame)
71
73
  return ret
72
74
 
73
75
  def _on_ear_monitoring_audio_frame(self, local_user_handle, audio_frame_inner):
74
76
  logger.debug(f"AudioFrameObserverInner _on_ear_monitoring_audio_frame: {local_user_handle}, {audio_frame_inner}")
75
- ret = self.observer.on_ear_monitoring_audio_frame(self.local_user, audio_frame_inner)
77
+ frame = audio_frame_inner.contents.get()
78
+ ret = self.observer.on_ear_monitoring_audio_frame(self.local_user, frame)
76
79
  return ret
77
80
 
78
81
  def _on_playback_audio_frame_before_mixing(self, local_user_handle, channel_id, user_id, audio_frame_inner):
@@ -979,7 +979,7 @@ class EncodedAudioFrameInfoInner(ctypes.Structure):
979
979
 
980
980
  class AudioVolumeInfoInner(ctypes.Structure):
981
981
  _fields_ = [
982
- ("user_id", ctypes.c_uint),
982
+ ("user_id", user_id_t),
983
983
  ("volume", ctypes.c_uint),
984
984
  ("vad", ctypes.c_uint),
985
985
  ("voicePitch", ctypes.c_double)
@@ -987,10 +987,10 @@ class AudioVolumeInfoInner(ctypes.Structure):
987
987
 
988
988
  def get(self):
989
989
  return AudioVolumeInfo(
990
- user_id=self.user_id,
990
+ user_id=self.user_id.decode() if self.user_id else "",
991
991
  volume=self.volume,
992
992
  vad=self.vad,
993
- voicePitch=self.voicePitch
993
+ voice_pitch=self.voicePitch
994
994
  )
995
995
 
996
996
 
@@ -272,8 +272,14 @@ class RTCLocalUserObserverInner(ctypes.Structure):
272
272
 
273
273
  def _on_audio_volume_indication(self, local_user_handle, audio_volume_info_ptr, speaker_number, total_volume):
274
274
  logger.debug(f"LocalUserCB _on_audio_volume_indication: {local_user_handle}, {audio_volume_info_ptr}, {speaker_number}, {total_volume}")
275
- audio_volume_info = audio_volume_info_ptr.contents
276
- self.local_user_observer.on_audio_volume_indication(self.local_user, audio_volume_info, speaker_number, total_volume)
275
+
276
+ # enum
277
+ audio_volume_info_list = []
278
+ for i in range(speaker_number):
279
+ speaker_info = audio_volume_info_ptr[i]
280
+ audio_volume_info = audio_volume_info_ptr[i].get()
281
+ audio_volume_info_list.append(audio_volume_info)
282
+ self.local_user_observer.on_audio_volume_indication(self.local_user, audio_volume_info_list, speaker_number, total_volume)
277
283
 
278
284
  def _on_active_speaker(self, local_user_handle, user_id):
279
285
  logger.debug(f"LocalUserCB _on_active_speaker: {local_user_handle}, {user_id}")
@@ -222,7 +222,7 @@ class AudioFrame:
222
222
 
223
223
  @dataclass(frozen=True, kw_only=True)
224
224
  class AudioVolumeInfo:
225
- user_id: int
225
+ user_id: str
226
226
  volume: int
227
227
  vad: int
228
228
  voice_pitch: float
@@ -76,7 +76,7 @@ class IRTCLocalUserObserver():
76
76
  def on_remote_video_track_statistics(self, agora_local_user, agora_remote_video_track, stats):
77
77
  pass
78
78
 
79
- def on_audio_volume_indication(self, agora_local_user, speakers, speaker_number, total_volume):
79
+ def on_audio_volume_indication(self, agora_local_user, speakers_list, speaker_number, total_volume):
80
80
  pass
81
81
 
82
82
  def on_active_speaker(self, agora_local_user, userId):
@@ -1,10 +1,8 @@
1
1
  Metadata-Version: 2.1
2
- Name: agora-python-server-sdk
3
- Version: 2.1.1
2
+ Name: agora_python_server_sdk
3
+ Version: 2.1.3
4
4
  Summary: A Python SDK for Agora Server
5
5
  Home-page: https://github.com/AgoraIO-Extensions/Agora-Python-Server-SDK
6
- License: UNKNOWN
7
- Platform: UNKNOWN
8
6
  Classifier: Intended Audience :: Developers
9
7
  Classifier: License :: OSI Approved :: MIT License
10
8
  Classifier: Topic :: Multimedia :: Sound/Audio
@@ -51,5 +49,3 @@ pip install agora_python_server_sdk
51
49
  python agora_rtc/examples/example_audio_pcm_send.py --appId=xxx --channelId=xxx --audioFile=./test_data/demo.pcm --sampleRate=16000 --numOfChannels=1
52
50
  ```
53
51
 
54
-
55
-
@@ -45,7 +45,7 @@ class CustomInstallCommand(install):
45
45
 
46
46
  setup(
47
47
  name='agora_python_server_sdk',
48
- version='2.1.1',
48
+ version='2.1.3',
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',