debug
This commit is contained in:
parent
815956c01c
commit
df30aa53c9
|
@ -19,22 +19,7 @@ def my_callback_r(shmName, dataSize, dataCount, sampleRate, numChannels, channel
|
|||
print(f"my_callback_r, dataSize:{dataSize}, dataCount:{dataCount}, sampleRate:{sampleRate}, numChannels:{numChannels}, channelIndex:{channelIndex}")
|
||||
print(f"data:{shmName}")
|
||||
print("after my_callback_r")
|
||||
#fd = os.open(shmName, os.O_RDONLY)
|
||||
#if fd == -1:
|
||||
# raise RuntimeError(f"无法打开共享内存 {shmName}")
|
||||
|
||||
## 2. 创建内存映射
|
||||
#shm = mmap.mmap(fd, dataSize, mmap.MAP_SHARED, mmap.PROT_READ)
|
||||
|
||||
## 3. 转换为numpy数组 (零拷贝)
|
||||
#audio_data = np.frombuffer(shm, dtype=c_int16, count=dataCount)
|
||||
#print(f" 前5个采样点: {audio_data[:5]}")
|
||||
#audioData = np.array([0, 1, -1, 0], dtype=np.int16)
|
||||
#ret = rtc_plugins.sendCustomAudioData(srcChannelIndex, audioData, 48000, 1, len(audioData))
|
||||
#if ret != 0:
|
||||
# print(f"resend fail, ret:{ret}")
|
||||
#else:
|
||||
# print("resend succ")
|
||||
ret = rtc_plugins.init(destUserId, destDisplayName, destRoomId, my_callback_r)
|
||||
if ret != 0:
|
||||
print(f"init fail, ret:{ret}")
|
||||
|
|
|
@ -711,18 +711,22 @@ np::ndarray RTCContext::getNumpydata() {
|
|||
size_t length = frame.dataCount; // 数据长度
|
||||
std::cout << "step4" << std::endl;
|
||||
|
||||
// 创建 NumPy 数组(拷贝数据)
|
||||
if (!data_ptr || length == 0) {
|
||||
// 返回空数组或抛出异常
|
||||
return np::zeros(bp::make_tuple(0), np::dtype::get_builtin<int16_t>());
|
||||
PyGILState_STATE gstate = PyGILState_Ensure();
|
||||
np::ndarray result;
|
||||
try {
|
||||
if (!data_ptr || length == 0) {
|
||||
result = np::zeros(bp::make_tuple(0), np::dtype::get_builtin<int16_t>());
|
||||
} else {
|
||||
result = np::empty(bp::make_tuple(length), np::dtype::get_builtin<int16_t>());
|
||||
std::memcpy(result.get_data(), data_ptr, length * sizeof(int16_t));
|
||||
}
|
||||
} catch (...) {
|
||||
PyGILState_Release(gstate); // 异常时释放GIL
|
||||
throw;
|
||||
}
|
||||
std::cout << "step5" << std::endl;
|
||||
|
||||
np::ndarray result = np::empty(bp::make_tuple(length), np::dtype::get_builtin<int16_t>());
|
||||
std::cout << "step6" << std::endl;
|
||||
std::memcpy(result.get_data(), data_ptr, length * sizeof(int16_t));
|
||||
std::cout << "step7" << std::endl;
|
||||
PyGILState_Release(gstate);
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
int16_t RTCContext::getDataCount() {
|
||||
|
|
Loading…
Reference in New Issue