agora-python-server-sdk 2.1.1__tar.gz → 2.1.2__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.
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/PKG-INFO +1 -5
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_ctypes_handle/_audio_frame_observer.py +7 -4
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_ctypes_handle/_ctypes_data.py +3 -3
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_ctypes_handle/_local_user_observer.py +8 -2
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/agora_base.py +1 -1
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_user_observer.py +1 -1
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora_python_server_sdk.egg-info/PKG-INFO +2 -6
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/setup.py +1 -1
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/MANIFEST.in +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/README.md +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/__init__.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_ctypes_handle/_rtc_connection_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_ctypes_handle/_video_encoded_frame_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_ctypes_handle/_video_frame_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/_utils/globals.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/agora_parameter.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/agora_service.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_encoded_frame_sender.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_frame_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_pcm_data_sender.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_sessionctrl.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_vad.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_audio_track.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_user.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_video_track.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/media_node_factory.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/remote_audio_track.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/remote_video_track.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/rtc_connection.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/rtc_connection_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/video_encoded_frame_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/video_encoded_image_sender.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/video_frame_observer.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/video_frame_sender.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/voice_detection.py +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora_python_server_sdk.egg-info/SOURCES.txt +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora_python_server_sdk.egg-info/dependency_links.txt +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora_python_server_sdk.egg-info/top_level.txt +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/pyproject.toml +0 -0
- {agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/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.
|
|
3
|
+
Version: 2.1.2
|
|
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
|
-
|
|
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
|
-
|
|
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",
|
|
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
|
-
|
|
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
|
-
|
|
276
|
-
|
|
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}")
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_user_observer.py
RENAMED
|
@@ -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,
|
|
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:
|
|
3
|
-
Version: 2.1.
|
|
2
|
+
Name: agora_python_server_sdk
|
|
3
|
+
Version: 2.1.2
|
|
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.
|
|
48
|
+
version='2.1.2',
|
|
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',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/agora_parameter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_frame_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_pcm_data_sender.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/audio_sessionctrl.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_audio_track.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/local_video_track.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/media_node_factory.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/remote_audio_track.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/remote_video_track.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/rtc_connection_observer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/video_frame_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/video_frame_sender.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.1.1 → agora_python_server_sdk-2.1.2}/agora/rtc/voice_detection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|