我们的团队开始使用quickblox android SDK构建视频聊天应用程序。我们要求将OpponentView
调整为全屏,同时将OwnSurfaceView
缩小并覆盖在顶部。使用此布局和方法,quickblox iOS SDK正在按预期工作。
我们注意到在大多数Android设备上我们测试了(不知道操作系统级别;但是这发生在5.0和4.4上)呼叫将连接,而OwnSurfaceView
将不会显示。在此之后不久,视频就会崩溃。
我们在日志中看到以下内容:
invalid address or address of corrupt block 0xb7b00a07 passed to dlfree
Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadbaad in tid 10326 (Thread-1113)
PROFILE HAL: stopPreview(): E: 1417779352.559218326
config_MSG_ID_STOP_ACK: streamon_mask is not clear. Should not call PP_Release_HW
android::status_t android::QCameraHardwareInterface::setPreviewWindow(preview_stream_ops_t*):Received Setting NULL preview window
android::status_t android::QCameraHardwareInterface::setPreviewWindow(preview_stream_ops_t*): mPreviewWindow = 0x0x0, mStreamDisplay = 0x0xb82edc10
Setting NULL preview window
Destroying camera 1
virtual android::QCameraHardwareInterface::~QCameraHardwareInterface() First stop the polling threads before deleting instances
config_shutdown_pp Camera not in streaming mode. Returning.
vfe_ops_deinit: E
E/qcom_sensors_hal﹕ hal_process_report_ind: Bad item quality: 11
I/OpenGLRenderer﹕ Initialized EGL, version 1.4
D/audio_hw_primary﹕ disable_audio_route: reset and update mixer path: audio-record
D/audio_hw_primary﹕ disable_snd_device: snd_device(16: handset-mic)
D/NuPlayerDriver﹕ reset(0xb82e4480)
D/NuPlayerDriver﹕ notifyResetComplete(0xb82e4480)
D/NuPlayerDriver﹕ reset(0xb8355c10)
D/NuPlayerDriver﹕ notifyResetComplete(0xb8355c10)
Process 10109 exited due to signal (11)
qcom_sensors_hal﹕ hal_process_report_ind: Bad item quality: 11
答案 0 :(得分:1)
您所代表的日志与3方lib中的错误相关。显然你试图以错误的方式管理Camera实例。 在IOS版本中,每个对手表示都有不同的实例,但在Android中用于两个用户。因此,您无法管理分别为每个人分别代表对手的视图,但您可以尝试在视图中管理视频渲染。通过VideoRenderer.Callbacks实例。
在不久的将来,我们计划更新android webrtc模块并添加QBCustomVideoView以在separete视图中表示每个用户。
此外,许多其他功能将添加到新的QuickBlox SDK版本中,例如,将删除来自Activity类的QBClient实例的强依赖性,将审查代码和逻辑,添加多呼叫功能等等。