Cgw.Channel.MonitorChannelRelationManager.StopCameraRtpAudio C# (CSharp) Method

StopCameraRtpAudio() private method

停止摄像头的码流和音频流 同步通道会议信息调用,防止锁占用
private StopCameraRtpAudio ( string channelLabel ) : SmcErr
channelLabel string
return Cgw.SmcError.SmcErr
        private SmcErr StopCameraRtpAudio(string channelLabel)
        {
            SmcErr err = new CgwError();
            NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
            // 判断监控通道是否存在
            if (!this.monitorChannelRelationDic.ContainsKey(channelLabel))
            {
                // 日志
                err.SetErrorNo(CgwError.ERR_CGW_BUSINESS_CHANNELNO_NULL);
                logEx.Trace("StopCameraRtpAudio can't find channelLabel:{0}", channelLabel);
                return err;
            }
            string oldCameraNo = this.monitorChannelRelationDic[channelLabel].CameraNo;
            if (!string.IsNullOrEmpty(oldCameraNo))
            {
                // 停止码流
                err = this.TryStopSendRtpData(oldCameraNo, channelLabel);
                if (!err.IsSuccess())
                {
                    logEx.Trace("StopCameraRtpAudio (channelLabel:{0},oldCameraNo:{1}) StopRtp failed,errNo={2}.", channelLabel, oldCameraNo, err.ErrNo);
                    return err;
                }

                // 关闭音频码流
                err = this.SetCameraAudio(channelLabel, oldCameraNo, false);
                if (!err.IsSuccess())
                {
                    logEx.Trace("StopCameraRtpAudio (channelLabel:{0},oldCameraNo:{1}) StartAudio failed,errNo={2}.", channelLabel, oldCameraNo, err.ErrNo);
                    return err;
                }

                this.monitorChannelRelationDic[channelLabel].CameraNo = null;

            }
            return err;
        }