Video tile of participant freezing when switching camera

Description
when a participant switches the camera, their video tile freezes on their device. the participant’s video in the host device is fine.

Which version?
v4.6.21666.0429

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. join meeting on android
  2. tap ‘switch camera button’
  3. See error

Smartphone (please complete the following information):

  • Device: Huawei Nexus 6P
  • OS: Android 8.1.0

Hi @Mark_Bragg,

Thanks for the post. I have tried to follow the steps to reproduce this with our demo app but I was not able to experience the issue. Could you provide an SDK log for us to further investigate?

Thanks!

Hey Carson, how do I get the log files? I am on Mac OS. I followed the logging directions in the SDK reference, but the path that the logs are supposed to be stored at, /Android/data/(or your app's name)/logs/, doesn’t exist

Hi @Mark_Bragg,

You can access your device’s logs through logcat. Also, please ensure that you have set ZoomSDKInitParams#enableLog to true where you are initializing the SDK.

Thanks!

Having trouble filtering out all of my company’s logs, but here are the logs where the camera got turned on and then switched from front-facing to back-facing and back to front:

2020-08-18 16:44:52.016 587-13158/? I/CameraService: CameraService::connect call (PID -1 "com.veeva.engage", camera ID 0) for HAL version default and Camera API version 1

2020-08-18 16:44:52.018 595-2043/? D/NuPlayerDriver: NuPlayerDriver(0xe8193980) created, clientPid(587)

2020-08-18 16:44:52.042 595-31007/? D/NuPlayerDriver: notifyListener_l(0xe8193980), (1, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.043 595-2043/? D/NuPlayerDriver: NuPlayerDriver(0xe8193c00) created, clientPid(587)

2020-08-18 16:44:52.057 595-31009/? D/NuPlayerDriver: notifyListener_l(0xe8193c00), (1, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.058 595-2043/? D/NuPlayerDriver: NuPlayerDriver(0xe8193100) created, clientPid(587)

2020-08-18 16:44:52.071 595-31011/? D/NuPlayerDriver: notifyListener_l(0xe8193100), (1, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.071 587-13158/? I/Camera2ClientBase: Camera 0: Opened. Client: com.veeva.engage (PID 30249, UID 10159)

2020-08-18 16:44:52.074 587-13158/? I/CameraService: onTorchStatusChangedLocked: Torch status changed for cameraId=0, newStatus=0

2020-08-18 16:44:52.085 587-13158/? I/CameraProviderManager: Camera device device@3.3/legacy/0 torch status is now NOT_AVAILABLE

2020-08-18 16:44:52.085 587-13158/? I/CameraService: onTorchStatusChangedLocked: Torch status changed for cameraId=0, newStatus=0

2020-08-18 16:44:52.094 608-31021/? E/mm-camera-img: module_imglib_start_session:1778 ###Img_Loglevel 1

2020-08-18 16:44:52.098 608-31017/? E/mm-camera-isp2: isp_module_start_session:360 num_session_opened 1

2020-08-18 16:44:52.102 608-31019/? E/mm-camera: q3a_port_init:1753 q3a_port_init: 3A VERSION --> 4.1.0.r9

2020-08-18 16:44:52.116 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3981541376 fd=41 heapid=33554432

2020-08-18 16:44:52.119 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3977572352 fd=43 heapid=33554432

2020-08-18 16:44:52.125 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3969634304 fd=44 heapid=33554432

2020-08-18 16:44:52.130 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3965452288 fd=45 heapid=33554432

2020-08-18 16:44:52.136 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3957088256 fd=46 heapid=33554432

2020-08-18 16:44:52.142 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3952906240 fd=47 heapid=33554432

2020-08-18 16:44:52.147 608-31030/? E/libaprpmem: Ion allocation success virtaddr : ret=3934793728 fd=49 heapid=33554432

2020-08-18 16:44:52.150 608-31015/? E/mm-camera-sensor: sensor_sdk_util_get_kernel_i2c_addr_type:26Invalid addr_type = 0

2020-08-18 16:44:52.150 608-31015/? E/mm-camera-sensor: sensor_sdk_util_get_kernel_i2c_data_type:40Invalid addr_type = 0

2020-08-18 16:44:52.162 608-31015/? E/mm-camera-sensor: sensor_sdk_util_get_kernel_i2c_data_type:40Invalid addr_type = 0

2020-08-18 16:44:52.162 608-31015/? E/mm-camera-sensor: sensor_sdk_util_get_kernel_i2c_addr_type:26Invalid addr_type = 0

2020-08-18 16:44:52.192 608-31032/? E/mm-camera: mct: mct_pipeline_start_stream_internal: Adding session stream streamid= 0xf for session=3

2020-08-18 16:44:52.192 608-31032/? E/mm-camera: mct: mct_pipeline_start_stream_internal:Linking session stream for session 3

2020-08-18 16:44:52.192 608-31032/? E/mm-camera-sensor: port_sensor_caps_reserve:87session id doesn't match

2020-08-18 16:44:52.195 608-31032/? E/mm-camera: mct: mct_pipeline_start_stream_internal:Session stream linked successfully session 3

2020-08-18 16:44:52.198 587-13158/? W/Camera2-Parameters: initialize: Camera 0: Unknown preview format: 24

2020-08-18 16:44:52.198 587-13158/? W/Camera2-Parameters: initialize: Camera 0: Unknown preview format: 25

2020-08-18 16:44:52.200 587-13158/? I/Camera2-Parameters: initialize: allowZslMode: 1 slowJpegMode 0

2020-08-18 16:44:52.222 587-587/? E/mm-camera-intf: mm_channel_fsm_fn_stopped: invalid state (1) for evt (6)

2020-08-18 16:44:52.302 587-587/? I/Camera3-Device: disconnect: E

2020-08-18 16:44:52.303 587-587/? I/QCamera3HWI: ~QCamera3HardwareInterface: stopping channel 48128

2020-08-18 16:44:52.305 587-587/? E/QCamera3HWI: ~QCamera3HardwareInterface: deleting channel 48128

2020-08-18 16:44:52.307 608-31033/? E/mm-camera: mct: mct_pipeline_process_set:2307: Couldn't find stream id: 0

2020-08-18 16:44:52.308 608-608/? E/mm-camera: port_iface_ext_unlink_func: E, identity = 0x3000f, port = 0xf342f620, direction = 2

2020-08-18 16:44:52.308 608-608/? E/mm-camera: port_iface_check_caps_unreserve_func: E, identity = 0x3000f, port = 0xf342f620, direction = 2

2020-08-18 16:44:52.308 608-608/? E/mm-camera: iface_unreserve_sink_port: stream_id f mode 0 

2020-08-18 16:44:52.308 608-608/? E/mm-camera: port_iface_ext_unlink_func: E, identity = 0x3000f, port = 0xf342f920, direction = 1

2020-08-18 16:44:52.308 608-608/? E/mm-camera: iface_ext_unlink_src_port: mct stream already removed from hw stream

2020-08-18 16:44:52.308 608-608/? E/mm-camera: port_iface_check_caps_unreserve_func: E, identity = 0x3000f, port = 0xf342f920, direction = 1

2020-08-18 16:44:52.308 608-608/? E/mm-camera: isp_port_check_caps_unreserve:844 ide 3000f port 0xf2fdb5c0

2020-08-18 16:44:52.308 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:183, identity=0x3000f

2020-08-18 16:44:52.308 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:193, identity=0x3000f, unreserved

2020-08-18 16:44:52.308 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:183, identity=0x3000f

2020-08-18 16:44:52.308 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:193, identity=0x3000f, unreserved

2020-08-18 16:44:52.308 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:164, identity=0x3000f

2020-08-18 16:44:52.308 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:174, identity=0x3000f, unreserved

2020-08-18 16:44:52.308 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:164, identity=0x3000f

2020-08-18 16:44:52.308 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:174, identity=0x3000f, unreserved

2020-08-18 16:44:52.309 608-608/? E/mm-camera: q3a_thread_af_stop:679 q3a_thread_af_stop:679 MSG_STOP_THREAD

2020-08-18 16:44:52.312 608-608/? D/mm-camera: stats_port_delete_reserved_stream:2426: going to NULL peer

2020-08-18 16:44:52.313 608-31053/? E/mm-camera-isp2: isp_module_stop_session:437 session id 3

2020-08-18 16:44:52.317 608-31055/? E/mm-camera: cpp_module_stop_session:552, info: stopping session 3 ...

2020-08-18 16:44:52.317 608-31026/? E/mm-camera: cpp_thread_process_pipe_message:584, CPP_THREAD_MSG_ABORT: cpp_thread exiting..

2020-08-18 16:44:52.318 608-31056/? E/mm-camera: module_faceproc_stop_session:1804] session cnt 1

2020-08-18 16:44:52.320 608-31055/? E/mm-camera: cpp_module_stop_session:601, info: session 3 stopped.

2020-08-18 16:44:52.320 608-31055/? E/mm-camera: c2d_module_stop_session:354, info: stopping session 3 ...

2020-08-18 16:44:52.320 608-31027/? E/mm-camera: c2d_thread_process_pipe_message:836, C2D_THREAD_MSG_ABORT: c2d_thread exiting..

2020-08-18 16:44:52.321 608-31055/? E/mm-camera: c2d_module_stop_session:399, info: session 3 stopped.

2020-08-18 16:44:52.328 608-31055/? E/cac2: [cac2latency] cac2_destroy_buffers: 0 ms 

2020-08-18 16:44:52.330 587-587/? I/CameraProviderManager: Camera device device@3.3/legacy/0 torch status is now AVAILABLE_OFF

2020-08-18 16:44:52.330 587-587/? I/CameraService: onTorchStatusChangedLocked: Torch status changed for cameraId=0, newStatus=1

2020-08-18 16:44:52.331 587-587/? I/Camera3-Device: disconnect: X

2020-08-18 16:44:52.331 587-587/? I/Camera3-Device: disconnect: E

2020-08-18 16:44:52.335 587-587/? I/CameraService: disconnect: Disconnected client for camera 0 for PID 30249

2020-08-18 16:44:52.337 587-587/? I/Camera2Client: Camera 0: Closed

2020-08-18 16:44:52.337 587-587/? I/Camera2ClientBase: Closed Camera 0. Client was: com.veeva.engage (PID 30249, UID 10159)

2020-08-18 16:44:52.338 595-9741/? D/NuPlayerDriver: reset(0xe8193980) at state 4

2020-08-18 16:44:52.338 595-9741/? D/NuPlayerDriver: notifyListener_l(0xe8193980), (8, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.338 595-31007/? D/NuPlayerDriver: notifyResetComplete(0xe8193980)

2020-08-18 16:44:52.340 587-13157/? I/CameraService: CameraService::connect call (PID -1 "com.veeva.engage", camera ID 1) for HAL version default and Camera API version 1

2020-08-18 16:44:52.358 595-595/? D/NuPlayerDriver: reset(0xe8193c00) at state 4

2020-08-18 16:44:52.358 595-595/? D/NuPlayerDriver: notifyListener_l(0xe8193c00), (8, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.358 595-31009/? D/NuPlayerDriver: notifyResetComplete(0xe8193c00)

2020-08-18 16:44:52.359 595-2043/? D/NuPlayerDriver: reset(0xe8193100) at state 4

2020-08-18 16:44:52.359 595-2043/? D/NuPlayerDriver: notifyListener_l(0xe8193100), (8, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.360 595-31011/? D/NuPlayerDriver: notifyResetComplete(0xe8193100)

2020-08-18 16:44:52.361 595-1939/? D/NuPlayerDriver: NuPlayerDriver(0xe8193880) created, clientPid(587)

2020-08-18 16:44:52.371 595-31057/? D/NuPlayerDriver: notifyListener_l(0xe8193880), (1, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.372 595-686/? D/NuPlayerDriver: NuPlayerDriver(0xe8193780) created, clientPid(587)

2020-08-18 16:44:52.377 593-593/? D/MediaAnalyticsService: MediaAnalyticsService::newSummarizerSet

2020-08-18 16:44:52.383 595-31059/? D/NuPlayerDriver: notifyListener_l(0xe8193780), (1, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.384 595-686/? D/NuPlayerDriver: NuPlayerDriver(0xe8193900) created, clientPid(587)

2020-08-18 16:44:52.395 595-31061/? D/NuPlayerDriver: notifyListener_l(0xe8193900), (1, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.396 587-13157/? I/Camera2ClientBase: Camera 1: Opened. Client: com.veeva.engage (PID 30249, UID 10159)

2020-08-18 16:44:52.404 608-31071/? E/mm-camera-img: module_imglib_start_session:1778 ###Img_Loglevel 1

2020-08-18 16:44:52.412 608-31067/? E/mm-camera-isp2: isp_module_start_session:360 num_session_opened 1

2020-08-18 16:44:52.414 608-31069/? E/mm-camera: q3a_port_init:1753 q3a_port_init: 3A VERSION --> 4.1.0.r9

2020-08-18 16:44:52.418 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3981541376 fd=38 heapid=33554432

2020-08-18 16:44:52.422 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3977572352 fd=41 heapid=33554432

2020-08-18 16:44:52.427 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3969634304 fd=42 heapid=33554432

2020-08-18 16:44:52.434 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3965452288 fd=43 heapid=33554432

2020-08-18 16:44:52.440 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3957088256 fd=44 heapid=33554432

2020-08-18 16:44:52.448 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3952906240 fd=45 heapid=33554432

2020-08-18 16:44:52.453 608-31080/? E/libaprpmem: Ion allocation success virtaddr : ret=3934793728 fd=49 heapid=33554432

2020-08-18 16:44:52.472 608-31082/? E/mm-camera: mct: mct_pipeline_start_stream_internal: Adding session stream streamid= 0xf for session=2

2020-08-18 16:44:52.472 608-31082/? E/mm-camera: mct: mct_pipeline_start_stream_internal:Linking session stream for session 2

2020-08-18 16:44:52.476 608-31082/? E/mm-camera: mct: mct_pipeline_start_stream_internal:Session stream linked successfully session 2

2020-08-18 16:44:52.478 587-13157/? W/Camera2-Parameters: initialize: Camera 1: Unknown preview format: 24

2020-08-18 16:44:52.478 587-13157/? W/Camera2-Parameters: initialize: Camera 1: Unknown preview format: 25

2020-08-18 16:44:52.480 587-13157/? I/Camera2-Parameters: Camera 1: Disabling ZSL mode

2020-08-18 16:44:52.480 587-13157/? I/Camera2-Parameters: initialize: allowZslMode: 0 slowJpegMode 1

2020-08-18 16:44:52.488 587-15761/? E/mm-camera-intf: mm_channel_fsm_fn_stopped: invalid state (1) for evt (6)

2020-08-18 16:44:52.581 587-15761/? I/Camera3-Device: disconnect: E

2020-08-18 16:44:52.582 587-15761/? I/QCamera3HWI: ~QCamera3HardwareInterface: stopping channel 48640

2020-08-18 16:44:52.583 587-15761/? E/QCamera3HWI: ~QCamera3HardwareInterface: deleting channel 48640

2020-08-18 16:44:52.583 608-31083/? E/mm-camera: mct: mct_pipeline_process_set:2307: Couldn't find stream id: 0

2020-08-18 16:44:52.584 608-608/? E/mm-camera: port_iface_ext_unlink_func: E, identity = 0x2000f, port = 0xf342f620, direction = 2

2020-08-18 16:44:52.584 608-608/? E/mm-camera: port_iface_check_caps_unreserve_func: E, identity = 0x2000f, port = 0xf342f620, direction = 2

2020-08-18 16:44:52.584 608-608/? E/mm-camera: iface_unreserve_sink_port: stream_id f mode 0 

2020-08-18 16:44:52.584 608-608/? E/mm-camera: port_iface_ext_unlink_func: E, identity = 0x2000f, port = 0xf342f920, direction = 1

2020-08-18 16:44:52.584 608-608/? E/mm-camera: iface_ext_unlink_src_port: mct stream already removed from hw stream

2020-08-18 16:44:52.584 608-608/? E/mm-camera: port_iface_check_caps_unreserve_func: E, identity = 0x2000f, port = 0xf342f920, direction = 1

2020-08-18 16:44:52.584 608-608/? E/mm-camera: isp_port_check_caps_unreserve:844 ide 2000f port 0xf2fdb5c0

2020-08-18 16:44:52.584 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:183, identity=0x2000f

2020-08-18 16:44:52.584 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:193, identity=0x2000f, unreserved

2020-08-18 16:44:52.584 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:183, identity=0x2000f

2020-08-18 16:44:52.584 608-608/? E/mm-camera: c2d_port_check_caps_unreserve:193, identity=0x2000f, unreserved

2020-08-18 16:44:52.584 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:164, identity=0x2000f

2020-08-18 16:44:52.584 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:174, identity=0x2000f, unreserved

2020-08-18 16:44:52.585 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:164, identity=0x2000f

2020-08-18 16:44:52.585 608-608/? E/mm-camera: cpp_port_check_caps_unreserve:174, identity=0x2000f, unreserved

2020-08-18 16:44:52.585 608-608/? E/mm-camera: q3a_thread_af_stop:679 q3a_thread_af_stop:679 MSG_STOP_THREAD

2020-08-18 16:44:52.585 608-608/? D/mm-camera: stats_port_delete_reserved_stream:2426: going to NULL peer

2020-08-18 16:44:52.587 608-31103/? E/mm-camera-isp2: isp_module_stop_session:437 session id 2

2020-08-18 16:44:52.593 608-31105/? E/mm-camera: cpp_module_stop_session:552, info: stopping session 2 ...

2020-08-18 16:44:52.594 608-31076/? E/mm-camera: cpp_thread_process_pipe_message:584, CPP_THREAD_MSG_ABORT: cpp_thread exiting..

2020-08-18 16:44:52.594 608-31106/? E/mm-camera: module_faceproc_stop_session:1804] session cnt 1

2020-08-18 16:44:52.596 608-31105/? E/mm-camera: cpp_module_stop_session:601, info: session 2 stopped.

2020-08-18 16:44:52.596 608-31105/? E/mm-camera: c2d_module_stop_session:354, info: stopping session 2 ...

2020-08-18 16:44:52.596 608-31077/? E/mm-camera: c2d_thread_process_pipe_message:836, C2D_THREAD_MSG_ABORT: c2d_thread exiting..

2020-08-18 16:44:52.598 608-31105/? E/mm-camera: c2d_module_stop_session:399, info: session 2 stopped.

2020-08-18 16:44:52.600 608-31105/? E/cac2: [cac2latency] cac2_destroy_buffers: 1 ms 

2020-08-18 16:44:52.610 587-15761/? I/Camera3-Device: disconnect: X

2020-08-18 16:44:52.610 587-15761/? I/Camera3-Device: disconnect: E

2020-08-18 16:44:52.614 587-15761/? I/CameraService: disconnect: Disconnected client for camera 1 for PID 30249

2020-08-18 16:44:52.617 587-15761/? I/Camera2Client: Camera 1: Closed

2020-08-18 16:44:52.617 587-15761/? I/Camera2ClientBase: Closed Camera 1. Client was: com.veeva.engage (PID 30249, UID 10159)

2020-08-18 16:44:52.618 595-686/? D/NuPlayerDriver: reset(0xe8193880) at state 4

2020-08-18 16:44:52.618 595-686/? D/NuPlayerDriver: notifyListener_l(0xe8193880), (8, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.618 595-31057/? D/NuPlayerDriver: notifyResetComplete(0xe8193880)

2020-08-18 16:44:52.620 595-686/? D/NuPlayerDriver: reset(0xe8193780) at state 4

2020-08-18 16:44:52.620 595-686/? D/NuPlayerDriver: notifyListener_l(0xe8193780), (8, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.621 595-31059/? D/NuPlayerDriver: notifyResetComplete(0xe8193780)

2020-08-18 16:44:52.619 30249-30249/com.veeva.engage W/om.veeva.engage: type=1400 audit(0.0:61778): avc: denied { read } for name="stat" dev="proc" ino=4026548033 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=0

2020-08-18 16:44:52.623 595-595/? D/NuPlayerDriver: reset(0xe8193900) at state 4

2020-08-18 16:44:52.623 595-595/? D/NuPlayerDriver: notifyListener_l(0xe8193900), (8, 0, 0, -1), loop setting(0, 0)

2020-08-18 16:44:52.623 595-31061/? D/NuPlayerDriver: notifyResetComplete(0xe8193900)

Thanks for getting those logs. I’m not seeing anything indicating a problem in there. After looking into this issue further, it seems like this bug has actually been fixed in our 5.0.24433.0616 release. Upgrading to that version should resolve your issue. Please let me know if you’re still seeing the same problem after integrating the most recent version of the SDK.

Thanks!

thank you @jon.lieblich

I’m getting the same behavior in sdk v5.0.24437.0708. I just tested it

Edit: looks like our server is not sending the proper sdk, so I actually tested the same sdk again, apologies. still haven’t tested the latest sdk

Hi @Mark_Bragg, sorry to hear you’re still running into that issue.

I’ve been trying to reproduce this with that same version of the SDK, but have not seen any video freezing after many attempts. Are you able to reproduce this behavior in the current sample app?

Thanks!

Hello Carson, how would I get the log documents? I’m on Mac OS. I followed the logging headings in the SDK reference, however the way that the logs should be put away at,/Android/information/(or your application’s name)/logs/, doesn’t exist

Hi @johnsdavidxp, thanks for using our SDK.

It sounds like you might be looking on your macOS for that file path. The logs would actually be accessible through Android Studio by opening the Device File Explorer tab on the bottom right side of the IDE. https://developer.android.com/studio/debug/device-file-explorer

Thanks!

I m using this for the longest period of time not faced any issues yet but this inormaton helped alot thanks for posting

Thank you for Sharing it.