agora-python-server-sdk 2.3.3__tar.gz → 2.3.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.
- {agora_python_server_sdk-2.3.3/agora_python_server_sdk.egg-info → agora_python_server_sdk-2.3.4}/PKG-INFO +1 -1
- agora_python_server_sdk-2.3.4/agora/__init__.py +202 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/__init__.py +1 -1
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtm/__init__.py +1 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4/agora_python_server_sdk.egg-info}/PKG-INFO +1 -1
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora_python_server_sdk.egg-info/SOURCES.txt +1 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/setup.py +2 -2
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/MANIFEST.in +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/README.md +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_ctypes_handle/_audio_frame_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_ctypes_handle/_ctypes_data.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_ctypes_handle/_local_user_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_ctypes_handle/_rtc_connection_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_ctypes_handle/_video_encoded_frame_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_ctypes_handle/_video_frame_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/_utils/globals.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/agora_base.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/agora_parameter.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/agora_service.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_encoded_frame_sender.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_frame_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_pcm_data_sender.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_sessionctrl.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_vad_manager.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_audio_track.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_user.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_user_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_video_track.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/media_node_factory.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/remote_audio_track.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/remote_video_track.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/rtc_connection.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/rtc_connection_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/utils/audio_consumer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/utils/vad_dump.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/video_encoded_frame_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/video_encoded_image_sender.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/video_frame_observer.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/video_frame_sender.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/voice_detection.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtm/_ctypes_handle/_ctypes_data.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtm/rtm_base.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtm/rtm_client.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtm/rtm_event_handler.py +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora_python_server_sdk.egg-info/dependency_links.txt +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora_python_server_sdk.egg-info/top_level.txt +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/pyproject.toml +0 -0
- {agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/setup.cfg +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
|
|
3
|
+
import hashlib
|
|
4
|
+
import ssl
|
|
5
|
+
import zipfile
|
|
6
|
+
import site
|
|
7
|
+
from urllib import request
|
|
8
|
+
import ctypes
|
|
9
|
+
import os
|
|
10
|
+
import sys
|
|
11
|
+
import platform
|
|
12
|
+
import logging
|
|
13
|
+
logger = logging.getLogger(__name__)
|
|
14
|
+
ssl._create_default_https_context = ssl._create_unverified_context
|
|
15
|
+
|
|
16
|
+
'''
|
|
17
|
+
# this is the global init for agora python server sdk, include rtc and rtm
|
|
18
|
+
# it will check the sdk version and download the latest sdk if needed
|
|
19
|
+
path dir structure is:
|
|
20
|
+
/home/xxx/agora/
|
|
21
|
+
agora_sdk
|
|
22
|
+
include
|
|
23
|
+
*.so/*.dylib
|
|
24
|
+
rtc
|
|
25
|
+
__init__.py
|
|
26
|
+
rtc*.py
|
|
27
|
+
rtm
|
|
28
|
+
__init__.py
|
|
29
|
+
rtm*.py
|
|
30
|
+
__init__.py
|
|
31
|
+
setup.py
|
|
32
|
+
README.md
|
|
33
|
+
LICENSE
|
|
34
|
+
CHANGELOG.md
|
|
35
|
+
CONTRIBUTING.md
|
|
36
|
+
CODE_OF_CONDUCT.md
|
|
37
|
+
SECURITY.md
|
|
38
|
+
CONTRIBUTORS.md
|
|
39
|
+
'''
|
|
40
|
+
'''
|
|
41
|
+
# requirement for package zip file:
|
|
42
|
+
no root dir, only so/dylib file in the root dir
|
|
43
|
+
'''
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def get_file_md5(file_path):
|
|
49
|
+
hash_md5 = hashlib.md5()
|
|
50
|
+
try:
|
|
51
|
+
with open(file_path, "rb") as f:
|
|
52
|
+
for chunk in iter(lambda: f.read(4096), b""):
|
|
53
|
+
hash_md5.update(chunk)
|
|
54
|
+
return hash_md5.hexdigest()
|
|
55
|
+
except Exception as e:
|
|
56
|
+
logger.error(f"get_file_md5 error: {e}")
|
|
57
|
+
return ""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
#get agora root path, like: /home/xxx/agora
|
|
61
|
+
def get_sdk_root_path():
|
|
62
|
+
agora_path = os.path.dirname(os.path.abspath(__file__))
|
|
63
|
+
return agora_path
|
|
64
|
+
#get agora 's library path, like: /home/xxx/agora/agora_sdk/
|
|
65
|
+
def get_sdk_library_path():
|
|
66
|
+
agora_path = get_sdk_root_path()
|
|
67
|
+
library_path = os.path.join(agora_path, "agora_sdk")
|
|
68
|
+
|
|
69
|
+
return library_path
|
|
70
|
+
def get_sdk_rtc_path():
|
|
71
|
+
agora_path = get_sdk_root_path()
|
|
72
|
+
rtc_path = os.path.join(agora_path, "rtc")
|
|
73
|
+
return rtc_path
|
|
74
|
+
def get_sdk_rtm_path():
|
|
75
|
+
agora_path = get_sdk_root_path()
|
|
76
|
+
rtm_path = os.path.join(agora_path, "rtm")
|
|
77
|
+
return rtm_path
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
#helper function to download file from ur
|
|
81
|
+
def report_progress(blocknum, blocksize, totalsize):
|
|
82
|
+
"""
|
|
83
|
+
下载进度回调函数
|
|
84
|
+
"""
|
|
85
|
+
if totalsize > 0:
|
|
86
|
+
# calculate download progress percentage
|
|
87
|
+
percent = min(100, (blocknum * blocksize) / totalsize * 100)
|
|
88
|
+
# use carriage return to overwrite current line, to update progress in place
|
|
89
|
+
print(f"\rDownloading: ----{percent:.2f}%-----", end='', flush=True)
|
|
90
|
+
# when download is complete (or calculated value exceeds 100%)
|
|
91
|
+
if percent >= 100:
|
|
92
|
+
print("Downloading: ----100.00%-----\n")
|
|
93
|
+
else:
|
|
94
|
+
# if cannot get file total size, show downloaded bytes
|
|
95
|
+
downloaded = blocknum * blocksize
|
|
96
|
+
print(f"\rDownloading: ----{downloaded} bytes-----", end='', flush=True)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def _check_download_and_extract_sdk():
|
|
100
|
+
agora_service_path = os.path.dirname(os.path.abspath(__file__))
|
|
101
|
+
# change from dir like: /home/xxx/agora_rtc/agora/rtc/agora_sdk to
|
|
102
|
+
# /home/xxx/agora_rtc/agora/agora_sdk
|
|
103
|
+
# /home/xxx/agora_rtc/agora/rtc
|
|
104
|
+
# /home/xxx/agora_rtc/agora/rtm
|
|
105
|
+
global sdk_library_dir, sdk_root_dir
|
|
106
|
+
|
|
107
|
+
zip_path = os.path.join(sdk_root_dir, "agora_rtc_sdk.zip")
|
|
108
|
+
logger.error(f"sdk_library_dir: {sdk_library_dir}")
|
|
109
|
+
logger.error(f"zip_path: {zip_path}")
|
|
110
|
+
|
|
111
|
+
# for diff os and arch
|
|
112
|
+
arch = platform.machine()
|
|
113
|
+
os_type = platform.system()
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
#url = "https://download.agora.io/sdk/release/agora_rtc_sdk-x86_64-linux-gnu-v4.4.30-20241024_101940-398537.zip"
|
|
118
|
+
# version 2.2.0 for linux
|
|
119
|
+
#url = "https://download.agora.io/sdk/release/agora_rtc_sdk-x86_64-linux-gnu-v4.4.31-20241223_111509-491956.zip"
|
|
120
|
+
#url = "https://download.agora.io/sdk/release/agora_rtc_sdk-x86_64-linux-gnu-v4.4.32-20250715_161625-791246.zip"
|
|
121
|
+
#url = "https://download.agora.io/sdk/release/agora_rtc_sdk-x86_64-linux-gnu-v4.4.32-20250829_160340-860733.zip"
|
|
122
|
+
#fusion version: 20251023
|
|
123
|
+
|
|
124
|
+
url = "https://download.agora.io/sdk/release/agora_rtc_sdk-x86_64-linux-gnu-v4.4.32-20250829_160340-860733-aed_20251107_1642.zip"
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
rtc_libfile_path = os.path.join(sdk_library_dir, "libagora_rtc_sdk.so")
|
|
128
|
+
#rtc_md5 = "7031dd10d1681cd88fd89d68c5b54282"
|
|
129
|
+
rtc_md5 = "7eb8042e43246f95f188549d8711d1bf"
|
|
130
|
+
if sys.platform == 'darwin':
|
|
131
|
+
#url = "https://download.agora.io/sdk/release/agora_rtc_sdk_mac_rel.v4.4.30_22472_FULL_20241024_1224_398653.zip"
|
|
132
|
+
# version 2.2.0 for mac
|
|
133
|
+
#url = "https://download.agora.io/sdk/release/agora_sdk_mac_v4.4.31_23136_FULL_20241223_1245_492039.zip"
|
|
134
|
+
#url = "https://download.agora.io/sdk/release/agora_sdk_mac_v4.4.32_24915_FULL_20250715_1710_791284.zip"
|
|
135
|
+
#url = "https://download.agora.io/sdk/release/agora_sdk_mac_v4.4.32_25418_FULL_20250829_1647_860754.zip"
|
|
136
|
+
#20251023 Fusion version: one sdk package include rtc and rtm
|
|
137
|
+
url = "https://download.agora.io/sdk/release/agora_sdk_mac_v4.4.32_25418_FULL_20250829_1647_860754-aed_20251107_1639.zip"
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
rtc_libfile_path = os.path.join(sdk_library_dir, "libAgoraRtcKit.dylib")
|
|
142
|
+
#rtc_md5 = "ca3ca14f9e2b7d97eb2594d1f32dab9f"
|
|
143
|
+
rtc_md5 = "df0ec3b5073d17dee76cc4d97c13699a"
|
|
144
|
+
if arch == "aarch64" and sys.platform == 'linux':
|
|
145
|
+
#url = "https://download.agora.io/sdk/release/Agora-RTC-aarch64-linux-gnu-v4.4.31-20250307_175457-603878.zip"
|
|
146
|
+
#url = "https://download.agora.io/sdk/release/Agora-RTC-aarch64-linux-gnu-v4.4.32-20250425_150503-675674.zip"
|
|
147
|
+
#url = "https://download.agora.io/sdk/release/Agora-RTC-aarch64-linux-gnu-v4.4.32-20251009_145437-921455.zip"
|
|
148
|
+
url = "https://download.agora.io/sdk/release/Agora-RTC-aarch64-linux-gnu-v4.4.32-20251009_145437-921455_20251023_1538.zip"
|
|
149
|
+
rtc_md5 = "5c002f25d2b381e353082da4f835b4f2"
|
|
150
|
+
|
|
151
|
+
is_file_exist = os.path.exists(rtc_libfile_path)
|
|
152
|
+
if is_file_exist:
|
|
153
|
+
md5_value = get_file_md5(rtc_libfile_path)
|
|
154
|
+
else:
|
|
155
|
+
md5_value = ""
|
|
156
|
+
if md5_value == rtc_md5:
|
|
157
|
+
return
|
|
158
|
+
|
|
159
|
+
logger.error(f"missing agora sdk, now download it, please wait for a while...: {rtc_libfile_path} {md5_value} {rtc_md5} {is_file_exist}")
|
|
160
|
+
if os.path.exists(sdk_library_dir):
|
|
161
|
+
os.system(f"rm -rf {sdk_library_dir}")
|
|
162
|
+
os.makedirs(sdk_library_dir, exist_ok=True)
|
|
163
|
+
if os.path.exists(zip_path):
|
|
164
|
+
os.remove(zip_path)
|
|
165
|
+
|
|
166
|
+
logger.error(f"sdk_library_dir: {sdk_library_dir}")
|
|
167
|
+
logger.error(f"Downloading {url}...")
|
|
168
|
+
#download_file_with_progress(url, zip_path)
|
|
169
|
+
request.urlretrieve(url, zip_path,reporthook=report_progress)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
logger.error(f"Extracting {zip_path}...")
|
|
173
|
+
|
|
174
|
+
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
|
|
175
|
+
zip_ref.extractall(sdk_root_dir)
|
|
176
|
+
|
|
177
|
+
if os.path.exists(zip_path):
|
|
178
|
+
os.remove(zip_path)
|
|
179
|
+
logger.error("download done, continue...")
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
sdk_root_dir = get_sdk_root_path()
|
|
184
|
+
sdk_rtc_dir = get_sdk_rtc_path()
|
|
185
|
+
sdk_rtm_dir = get_sdk_rtm_path()
|
|
186
|
+
sdk_library_dir = get_sdk_library_path()
|
|
187
|
+
|
|
188
|
+
_check_download_and_extract_sdk()
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
if sys.platform == 'darwin':
|
|
192
|
+
rtc_libfile_path = os.path.join(sdk_library_dir, 'libAgoraRtcKit.dylib')
|
|
193
|
+
else:
|
|
194
|
+
rtc_libfile_path = os.path.join(sdk_library_dir, 'libagora_rtc_sdk.so')
|
|
195
|
+
ctypes.CDLL(os.path.join(sdk_library_dir, 'libaosl.so'))
|
|
196
|
+
|
|
197
|
+
#check if the library exists
|
|
198
|
+
if not os.path.exists(rtc_libfile_path):
|
|
199
|
+
logger.error(f"library {rtc_libfile_path} not found")
|
|
200
|
+
sys.exit(1)
|
|
201
|
+
# import these variables to the sub modules
|
|
202
|
+
__all__ = ['sdk_library_dir', 'sdk_rtc_dir', 'sdk_rtm_dir', 'sdk_root_dir']
|
|
@@ -25,7 +25,7 @@ try:
|
|
|
25
25
|
|
|
26
26
|
elif sys.platform == 'linux':
|
|
27
27
|
lib_agora_rtc_path = os.path.join(lib_dir, 'libagora_rtc_sdk.so')
|
|
28
|
-
|
|
28
|
+
ctypes.CDLL(os.path.join(lib_dir, 'libagora-fdkaac.so'))
|
|
29
29
|
agora_lib = ctypes.CDLL(lib_agora_rtc_path)
|
|
30
30
|
except OSError as e:
|
|
31
31
|
logger.error(f"Error loading the library: {e}")
|
|
@@ -30,6 +30,7 @@ try:
|
|
|
30
30
|
elif sys.platform == 'linux':
|
|
31
31
|
lib_agora_rtm_path = os.path.join(sdk_library_dir, 'libagora_rtm_sdk_c.so')
|
|
32
32
|
rtm_lib = ctypes.CDLL(lib_agora_rtm_path)
|
|
33
|
+
ctypes.CDLL(os.path.join(sdk_library_dir, 'libagora_rtm_sdk.so'))
|
|
33
34
|
except OSError as e:
|
|
34
35
|
logger.error(f"Error loading the library: {e}")
|
|
35
36
|
logger.error(f"Attempted to load from: {lib_agora_rtm_path}")
|
|
@@ -107,12 +107,12 @@ class CustomInstallCommand(install):
|
|
|
107
107
|
|
|
108
108
|
setup(
|
|
109
109
|
name='agora_python_server_sdk',
|
|
110
|
-
version='2.3.
|
|
110
|
+
version='2.3.4',
|
|
111
111
|
description='A Python SDK for Agora Server',
|
|
112
112
|
long_description=open('README.md').read(),
|
|
113
113
|
long_description_content_type='text/markdown',
|
|
114
114
|
url='https://github.com/AgoraIO-Extensions/Agora-Python-Server-SDK',
|
|
115
|
-
packages=["agora.rtc", "agora.rtc._ctypes_handle", "agora.rtc._utils","agora.rtc.utils","agora.rtm","agora.rtm._ctypes_handle"],
|
|
115
|
+
packages=["agora", "agora.rtc", "agora.rtc._ctypes_handle", "agora.rtc._utils","agora.rtc.utils","agora.rtm","agora.rtm._ctypes_handle"],
|
|
116
116
|
classifiers=[
|
|
117
117
|
"Intended Audience :: Developers",
|
|
118
118
|
'License :: OSI Approved :: MIT License',
|
|
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
|
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/agora_parameter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_frame_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_pcm_data_sender.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_sessionctrl.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/audio_vad_manager.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_audio_track.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_user_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/local_video_track.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/media_node_factory.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/remote_audio_track.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/remote_video_track.py
RENAMED
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/rtc_connection_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/utils/audio_consumer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/video_frame_observer.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/video_frame_sender.py
RENAMED
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtc/voice_detection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agora_python_server_sdk-2.3.3 → agora_python_server_sdk-2.3.4}/agora/rtm/rtm_event_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|