QuickBlox Android SDK OwnSurfaceView Issue



我们的团队开始使用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

您表示的日志与 3 方库中的错误相关。显然,您试图以错误的方式管理相机实例。在IOS版本中,每个对手表示都有不同的实例,但是在Android中,两个用户都使用一个实例。因此,您无法管理视图以分别代表每个对手,但您可以尝试在视图上管理视频渲染。通过 VideoRenderer.Callbacks 实例。

在不久的将来,我们计划更新android webrtc模块并添加QBCustomVideoView,以在单独的视图中代表每个用户。

此外,新的QuickBlox SDK版本中将添加许多其他功能,例如将删除来自Activity类的QBClient实例的强依赖性,将审查代码和逻辑,将添加多调用功能等。

最新更新