自动录制模式下 onError 疑问

demo

#1

自动录制模式下,最后一个用户 离开频道后


SDK 随后 onLeaveChannel
紧接着回调 onError ,此时 onError 的回调参数为:
error:3 , stat_code:16

观测了很多次,error && stat_code 一直是 :error:3 , stat_code:16,且从未发生变化,此时作为应用服务器应该怎么处理 这个错误码?

这个错误的发生原因又是什么呢?


#2

如出现 Error: 3, with stat_code:16 报错时,录制属于正常退出。通过 leave_path code 判断录制退出的原因:

  • LEAVE_CODE_INIT(0):初始化失败
  • LEAVE_CODE_SIG(1<<1):由信号触发的退出
  • LEAVE_CODE_NO_USERS(1<<2):频道内除录制外,没有其他用户
  • LEAVE_CODE_TIMER_CATCH(1<<3):捕获到信号错误
  • LEAVE_CODE_CLIENT_LEAVE(1<<4):wrapper 层主动退出

日志里的 code 为上面括号内 2 进制移位后的 10 进制数。比如,(1<<1)=2; (1<<2)=4。所以上面的 leave channel with code:12是由 (1<<2)=4 + (1<<3) =8 得来的。

一般都是频道内没有用户,录制正常退出了。检查 recording_sys.log ,是否有 “No users in channel” 的关键字即可确认。


#3

根据你的描述,应该是客户端用户都离开频道了。