CgwMonitorManage.Tiandy.TiandySdkClient.MakeIFrame C# (CSharp) Method

MakeIFrame() public method

重发I帧
public MakeIFrame ( string hostNo, int channel, MediaServer cameraMediaServer ) : bool
hostNo string 主机编号
channel int 摄像头对应的主机通道
cameraMediaServer MediaServer
return bool
        public bool MakeIFrame(string hostNo, int channel, MediaServer cameraMediaServer)
        {
            MediaServer clientMediaServer = this.sdkMediaServer;
            if (clientMediaServer == null)
            {
                clientMediaServer = cameraMediaServer;
            }

            NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
            logEx.Trace("Enter: TiandySdkClient.MakeIFrame({0},{1},{2}).", hostNo, channel, cameraMediaServer.No);
            try
            {
                //调用SDK接口,登陆主机(编码器)()
                int loginResult = client_sdk_login2_by_id(hostNo,
                                                          clientMediaServer.User,
                                                          clientMediaServer.Pwd,
                                                          clientMediaServer.No,
                                                          cameraMediaServer.No,
                                                          clientMediaServer.Ip,
                                                          clientMediaServer.Port,
                                                          0);

                if (loginResult == CgwConst.START_RECEIVE_VIDEO_DATA_FAILED)
                {
                    logEx.Error("Call Tiandy sdk function client_sdk_login2_by_id failed.dev_id:{0},username:{1},client_sup_id:{2},dev_sup_id:{3},client_sup_ip:{4},client_sup_port:{5}.",
                        hostNo,
                        clientMediaServer.User,
                        clientMediaServer.No,
                        cameraMediaServer.No,
                        clientMediaServer.Port);
                    return false;
                }
                else
                {
                    logEx.Info("Call Tiandy sdk function client_sdk_login2_by_id success.");
                }

                //生成I帧
                if (client_sdk_make_key_frame(loginResult, channel))
                {
                    logEx.Info("Call Tiandy sdk function client_sdk_make_key_frame success.");
                    return true;
                }
                else
                {
                    logEx.Error("Call Tiandy sdk function client_sdk_make_key_frame failed.channel:{0}", channel);
                    return false;
                }

                //发完关键帧后,要退出登录

            }
            catch (Exception e)
            {
                logEx.Error("Maker I frame failed.channel:{0},Exception message:{1}.", channel, e.Message);
                return false;
            }
        }