agora-python-server-sdk 2.4.6__tar.gz → 2.4.7__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.
- {agora_python_server_sdk-2.4.6/agora_python_server_sdk.egg-info → agora_python_server_sdk-2.4.7}/PKG-INFO +22 -2
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/README.md +21 -1
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_ctypes_handle/_ctypes_data.py +2 -1
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/agora_base.py +2 -1
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_video_track.py +2 -2
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/rtc_connection.py +22 -2
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtm/_ctypes_handle/_ctypes_data.py +2 -1
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtm/rtm_client.py +13 -6
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7/agora_python_server_sdk.egg-info}/PKG-INFO +22 -2
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/setup.py +1 -1
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/MANIFEST.in +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/__init__.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/__init__.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_ctypes_handle/_audio_frame_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_ctypes_handle/_local_user_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_ctypes_handle/_rtc_connection_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_ctypes_handle/_video_encoded_frame_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_ctypes_handle/_video_frame_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/_utils/globals.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/agora_parameter.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/agora_service.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_encoded_frame_sender.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_frame_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_pcm_data_sender.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_sessionctrl.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_vad_manager.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/external_audio_processor.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_audio_track.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_user.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_user_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/media_node_factory.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/remote_audio_track.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/remote_video_track.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/rtc_connection_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/utils/audio_consumer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/utils/vad_dump.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/video_encoded_frame_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/video_encoded_image_sender.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/video_frame_observer.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/video_frame_sender.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/voice_detection.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtm/__init__.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtm/rtm_base.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtm/rtm_event_handler.py +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora_python_server_sdk.egg-info/SOURCES.txt +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora_python_server_sdk.egg-info/dependency_links.txt +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora_python_server_sdk.egg-info/top_level.txt +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/pyproject.toml +0 -0
- {agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: agora_python_server_sdk
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.7
|
|
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
|
|
@@ -63,7 +63,27 @@ export LD_LIBRARY_PATH=/site_packages/agora/agora_sdk/
|
|
|
63
63
|
python agora_rtc/examples/example_audio_pcm_send.py --appId=xxx --channelId=xxx --userId=xxx --audioFile=./test_data/demo.pcm --sampleRate=16000 --numOfChannels=1
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
#
|
|
66
|
+
# Release Note
|
|
67
|
+
|
|
68
|
+
## 2026.06.24 Release Version 2.4.7
|
|
69
|
+
|
|
70
|
+
- **New Features**:
|
|
71
|
+
- Added `RTCConnection.get_sid()` and `RTCConnection.set_simulcast_stream()` interfaces for retrieving SID and configuring Simulcast stream capabilities.
|
|
72
|
+
- In `EncryptionConfig`, added the `datastream_encryption_enabled` option to support data stream encryption.
|
|
73
|
+
|
|
74
|
+
- **Improvements and Enhancements**:
|
|
75
|
+
- Improved the Simulcast Stream configuration process to further simplify the usage of `LocalVideoTrack.enable_simulcast_stream()`.
|
|
76
|
+
- Adjusted audio encoding timestamp behavior: when `capture_time_ms` is not set, the current time will be used by default.
|
|
77
|
+
- Optimized RTC/RTM binary message processing to enhance raw data passthrough capability.
|
|
78
|
+
- Enhanced lifecycle management of RTM ctypes callback objects to improve overall stability.
|
|
79
|
+
|
|
80
|
+
- **Examples and Documentation**:
|
|
81
|
+
- Updated RTM/RTC example code, adding detailed examples for Simulcast and binary message transmission.
|
|
82
|
+
- Updated macOS SDK version records.
|
|
83
|
+
|
|
84
|
+
## 2026.06.01 Release Version 2.4.6
|
|
85
|
+
- **Update**: Updated the RTC SDK to version 174, resolving the issue where two same UIDs could join the same channel.
|
|
86
|
+
|
|
67
87
|
## 2026.05.08 Release Version 2.4.5
|
|
68
88
|
- **Update**: Update arm rtc sdk, which can run basic function on arm64 platform, the vad function is not supported yet.
|
|
69
89
|
|
|
@@ -48,7 +48,27 @@ export LD_LIBRARY_PATH=/site_packages/agora/agora_sdk/
|
|
|
48
48
|
python agora_rtc/examples/example_audio_pcm_send.py --appId=xxx --channelId=xxx --userId=xxx --audioFile=./test_data/demo.pcm --sampleRate=16000 --numOfChannels=1
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
#
|
|
51
|
+
# Release Note
|
|
52
|
+
|
|
53
|
+
## 2026.06.24 Release Version 2.4.7
|
|
54
|
+
|
|
55
|
+
- **New Features**:
|
|
56
|
+
- Added `RTCConnection.get_sid()` and `RTCConnection.set_simulcast_stream()` interfaces for retrieving SID and configuring Simulcast stream capabilities.
|
|
57
|
+
- In `EncryptionConfig`, added the `datastream_encryption_enabled` option to support data stream encryption.
|
|
58
|
+
|
|
59
|
+
- **Improvements and Enhancements**:
|
|
60
|
+
- Improved the Simulcast Stream configuration process to further simplify the usage of `LocalVideoTrack.enable_simulcast_stream()`.
|
|
61
|
+
- Adjusted audio encoding timestamp behavior: when `capture_time_ms` is not set, the current time will be used by default.
|
|
62
|
+
- Optimized RTC/RTM binary message processing to enhance raw data passthrough capability.
|
|
63
|
+
- Enhanced lifecycle management of RTM ctypes callback objects to improve overall stability.
|
|
64
|
+
|
|
65
|
+
- **Examples and Documentation**:
|
|
66
|
+
- Updated RTM/RTC example code, adding detailed examples for Simulcast and binary message transmission.
|
|
67
|
+
- Updated macOS SDK version records.
|
|
68
|
+
|
|
69
|
+
## 2026.06.01 Release Version 2.4.6
|
|
70
|
+
- **Update**: Updated the RTC SDK to version 174, resolving the issue where two same UIDs could join the same channel.
|
|
71
|
+
|
|
52
72
|
## 2026.05.08 Release Version 2.4.5
|
|
53
73
|
- **Update**: Update arm rtc sdk, which can run basic function on arm64 platform, the vad function is not supported yet.
|
|
54
74
|
|
|
@@ -566,7 +566,7 @@ class EncodedAudioFrameInfo:
|
|
|
566
566
|
samples_per_channel: int = 1024
|
|
567
567
|
send_even_if_empty: int = 1
|
|
568
568
|
number_of_channels: int = 1
|
|
569
|
-
capture_time_ms: int =
|
|
569
|
+
capture_time_ms: int = -1 #-1 means not set, when push_audio_encoded_data, if capture_time_ms is not set, will use the current time
|
|
570
570
|
|
|
571
571
|
|
|
572
572
|
@dataclass(kw_only=True)
|
|
@@ -701,6 +701,7 @@ class EncryptionConfig:
|
|
|
701
701
|
encryption_mode: int
|
|
702
702
|
encryption_key: str
|
|
703
703
|
encryption_kdf_salt: bytearray = None
|
|
704
|
+
datastream_encryption_enabled: bool = False
|
|
704
705
|
@dataclass(kw_only=True)
|
|
705
706
|
class CapabilityItem:
|
|
706
707
|
id: int
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_video_track.py
RENAMED
|
@@ -53,8 +53,8 @@ class LocalVideoTrack:
|
|
|
53
53
|
ret = agora_local_video_track_set_video_encoder_config(self.track_handle, ctypes.byref(VideoEncoderConfigurationInner.create(config)))
|
|
54
54
|
return ret
|
|
55
55
|
|
|
56
|
-
def enable_simulcast_stream(self, enabled, config):
|
|
57
|
-
ret = agora_local_video_track_enable_simulcast_stream(self.track_handle, enabled, ctypes.byref(config))
|
|
56
|
+
def enable_simulcast_stream(self, enabled, config: SimulcastStreamConfig):
|
|
57
|
+
ret = agora_local_video_track_enable_simulcast_stream(self.track_handle, enabled, ctypes.byref(SimulcastStreamConfigInner.create(config)))
|
|
58
58
|
return ret
|
|
59
59
|
|
|
60
60
|
# def update_simulcast_stream(self, enabled, config):
|
|
@@ -87,6 +87,11 @@ agora_local_audio_track_set_total_extra_send_ms = agora_lib.agora_local_audio_tr
|
|
|
87
87
|
agora_local_audio_track_set_total_extra_send_ms.restype = AGORA_API_C_INT
|
|
88
88
|
agora_local_audio_track_set_total_extra_send_ms.argtypes = [AGORA_HANDLE, ctypes.c_uint64]
|
|
89
89
|
|
|
90
|
+
#get sid
|
|
91
|
+
agora_rtc_conn_get_sid = agora_lib.agora_rtc_conn_get_sid
|
|
92
|
+
agora_rtc_conn_get_sid.restype = ctypes.c_char_p
|
|
93
|
+
agora_rtc_conn_get_sid.argtypes = [AGORA_HANDLE]
|
|
94
|
+
|
|
90
95
|
#global variable
|
|
91
96
|
_is_deliver_mute_data_has_set: bool = False
|
|
92
97
|
|
|
@@ -208,11 +213,13 @@ class RTCConnection:
|
|
|
208
213
|
# send data stream message to connection
|
|
209
214
|
def send_stream_message(self, data) -> int:
|
|
210
215
|
length = len(data)
|
|
211
|
-
c_data = ctypes.c_char_p(data)
|
|
216
|
+
#c_data = ctypes.c_char_p(data)
|
|
217
|
+
arr = (ctypes.c_char * length).from_buffer(data) # zero copy
|
|
218
|
+
ptr = ctypes.cast(arr, ctypes.POINTER(ctypes.c_char_p))
|
|
212
219
|
ret = agora_rtc_conn_send_stream_message(
|
|
213
220
|
self.conn_handle,
|
|
214
221
|
self._data_stream_id,
|
|
215
|
-
|
|
222
|
+
ptr,
|
|
216
223
|
length
|
|
217
224
|
)
|
|
218
225
|
return ret
|
|
@@ -631,4 +638,17 @@ class RTCConnection:
|
|
|
631
638
|
ret = self.local_user._send_intra_request(remote_uid)
|
|
632
639
|
return ret
|
|
633
640
|
pass
|
|
641
|
+
def set_simulcast_stream(self, enabled: bool, config: SimulcastStreamConfig)->int:
|
|
642
|
+
ret = -1000
|
|
643
|
+
if self._video_track:
|
|
644
|
+
ret = self._video_track.enable_simulcast_stream(enabled, config)
|
|
645
|
+
return ret
|
|
646
|
+
pass
|
|
647
|
+
def get_sid(self)->str:
|
|
648
|
+
ret = -1000
|
|
649
|
+
if self.conn_handle is None:
|
|
650
|
+
return ""
|
|
651
|
+
sid = agora_rtc_conn_get_sid(self.conn_handle)
|
|
652
|
+
return sid.decode() if sid else ""
|
|
653
|
+
pass
|
|
634
654
|
|
|
@@ -182,12 +182,13 @@ class MessageEventInner(ctypes.Structure):
|
|
|
182
182
|
("customType", ctypes.c_char_p)
|
|
183
183
|
]
|
|
184
184
|
def get(self) -> MessageEvent:
|
|
185
|
+
message = ctypes.string_at(self.message, self.messageLength) if self.message else b""
|
|
185
186
|
return MessageEvent(
|
|
186
187
|
channel_type=self.channelType,
|
|
187
188
|
message_type=self.messageType,
|
|
188
189
|
channel_name=self.channelName.decode('utf-8') if self.channelName else "",
|
|
189
190
|
channel_topic=self.channelTopic.decode('utf-8') if self.channelTopic else "",
|
|
190
|
-
message=
|
|
191
|
+
message=message,
|
|
191
192
|
message_length=self.messageLength,
|
|
192
193
|
publisher=self.publisher.decode('utf-8') if self.publisher else "",
|
|
193
194
|
custom_type=self.customType.decode('utf-8') if self.customType else "",
|
|
@@ -100,12 +100,13 @@ class RTMClient:
|
|
|
100
100
|
#register event handler from python to ctypes
|
|
101
101
|
|
|
102
102
|
config_inner = RtmConfigInner.create(config)
|
|
103
|
-
|
|
104
|
-
config_inner.eventHandler = ctypes.cast(ctypes.byref(
|
|
103
|
+
self._event_handler = RtmEventHandlerInner(config.event_handler, self)
|
|
104
|
+
config_inner.eventHandler = ctypes.cast(ctypes.byref(self._event_handler), ctypes.c_void_p)
|
|
105
105
|
self.client_handle = agora_rtm_client_create(ctypes.byref(config_inner), ctypes.byref(ret))
|
|
106
106
|
print(f"create_rtm_client ret: {ret.value}, client_handle: {self.client_handle}")
|
|
107
107
|
print(f"error reason: {self.get_error_reason(ret.value)}")
|
|
108
108
|
self.is_valid = self.client_handle is not None and ret.value == 0
|
|
109
|
+
self._config_inner = config_inner
|
|
109
110
|
def _is_valid(self)->bool:
|
|
110
111
|
return self.is_valid
|
|
111
112
|
|
|
@@ -116,6 +117,8 @@ class RTMClient:
|
|
|
116
117
|
if ret == 0:
|
|
117
118
|
self.client_handle = None
|
|
118
119
|
self.config = None
|
|
120
|
+
self._event_handler = None # release 之后再清
|
|
121
|
+
self._config_inner = None
|
|
119
122
|
def login(self, token: str)->(int, int):
|
|
120
123
|
#convert from str to c_char_p without memory copy
|
|
121
124
|
bytes_data = token.encode('utf-8')
|
|
@@ -132,13 +135,17 @@ class RTMClient:
|
|
|
132
135
|
request_id = ctypes.c_uint64(0)
|
|
133
136
|
ret = agora_rtm_client_renew_token(self.client_handle, token.encode(), ctypes.byref(request_id))
|
|
134
137
|
return ret, int(request_id.value)
|
|
135
|
-
def publish(self, channel_name: str, message
|
|
138
|
+
def publish(self, channel_name: str, message, options: PublishOptions) ->(int, uint64_t):
|
|
136
139
|
inner_options = PublishOptionsInner.create(options)
|
|
137
140
|
request_id = ctypes.c_uint64(0)
|
|
138
|
-
|
|
141
|
+
#change msg to c_char_p without memory copy
|
|
142
|
+
length = len(message)
|
|
143
|
+
arr = (ctypes.c_char * length).from_buffer_copy(message)
|
|
144
|
+
ptr = ctypes.cast(arr, ctypes.c_char_p)
|
|
145
|
+
ret = agora_rtm_client_publish(self.client_handle, channel_name.encode(), ptr, length, ctypes.byref(inner_options), ctypes.byref(request_id))
|
|
139
146
|
return ret, int(request_id.value)
|
|
140
147
|
|
|
141
|
-
def send_channel_message(self, channel_name: str, message
|
|
148
|
+
def send_channel_message(self, channel_name: str, message) ->(int, uint64_t):
|
|
142
149
|
publish_options = PublishOptions(
|
|
143
150
|
channel_type=RtmChannelType.RTM_CHANNEL_TYPE_MESSAGE,
|
|
144
151
|
message_type=RtmMessageType.RTM_MESSAGE_TYPE_BINARY,
|
|
@@ -147,7 +154,7 @@ class RTMClient:
|
|
|
147
154
|
)
|
|
148
155
|
ret, request_id = self.publish(channel_name, message, publish_options)
|
|
149
156
|
return ret, request_id
|
|
150
|
-
def send_user_message(self, user_id: str, message
|
|
157
|
+
def send_user_message(self, user_id: str, message) ->(int, uint64_t):
|
|
151
158
|
publish_options = PublishOptions(
|
|
152
159
|
channel_type=RtmChannelType.RTM_CHANNEL_TYPE_USER,
|
|
153
160
|
message_type=RtmMessageType.RTM_MESSAGE_TYPE_BINARY,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: agora_python_server_sdk
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.7
|
|
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
|
|
@@ -63,7 +63,27 @@ export LD_LIBRARY_PATH=/site_packages/agora/agora_sdk/
|
|
|
63
63
|
python agora_rtc/examples/example_audio_pcm_send.py --appId=xxx --channelId=xxx --userId=xxx --audioFile=./test_data/demo.pcm --sampleRate=16000 --numOfChannels=1
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
#
|
|
66
|
+
# Release Note
|
|
67
|
+
|
|
68
|
+
## 2026.06.24 Release Version 2.4.7
|
|
69
|
+
|
|
70
|
+
- **New Features**:
|
|
71
|
+
- Added `RTCConnection.get_sid()` and `RTCConnection.set_simulcast_stream()` interfaces for retrieving SID and configuring Simulcast stream capabilities.
|
|
72
|
+
- In `EncryptionConfig`, added the `datastream_encryption_enabled` option to support data stream encryption.
|
|
73
|
+
|
|
74
|
+
- **Improvements and Enhancements**:
|
|
75
|
+
- Improved the Simulcast Stream configuration process to further simplify the usage of `LocalVideoTrack.enable_simulcast_stream()`.
|
|
76
|
+
- Adjusted audio encoding timestamp behavior: when `capture_time_ms` is not set, the current time will be used by default.
|
|
77
|
+
- Optimized RTC/RTM binary message processing to enhance raw data passthrough capability.
|
|
78
|
+
- Enhanced lifecycle management of RTM ctypes callback objects to improve overall stability.
|
|
79
|
+
|
|
80
|
+
- **Examples and Documentation**:
|
|
81
|
+
- Updated RTM/RTC example code, adding detailed examples for Simulcast and binary message transmission.
|
|
82
|
+
- Updated macOS SDK version records.
|
|
83
|
+
|
|
84
|
+
## 2026.06.01 Release Version 2.4.6
|
|
85
|
+
- **Update**: Updated the RTC SDK to version 174, resolving the issue where two same UIDs could join the same channel.
|
|
86
|
+
|
|
67
87
|
## 2026.05.08 Release Version 2.4.5
|
|
68
88
|
- **Update**: Update arm rtc sdk, which can run basic function on arm64 platform, the vad function is not supported yet.
|
|
69
89
|
|
|
@@ -134,7 +134,7 @@ class CustomInstallCommand(install):
|
|
|
134
134
|
|
|
135
135
|
setup(
|
|
136
136
|
name='agora_python_server_sdk',
|
|
137
|
-
version='2.4.
|
|
137
|
+
version='2.4.7',
|
|
138
138
|
description='A Python SDK for Agora Server',
|
|
139
139
|
long_description=open('README.md').read(),
|
|
140
140
|
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
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/agora_parameter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_frame_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_pcm_data_sender.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_sessionctrl.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/audio_vad_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_audio_track.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/local_user_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/media_node_factory.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/remote_audio_track.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/remote_video_track.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/rtc_connection_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/utils/audio_consumer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/video_frame_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/video_frame_sender.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtc/voice_detection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.4.6 → agora_python_server_sdk-2.4.7}/agora/rtm/rtm_event_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|