zoukankan      html  css  js  c++  java
  • EasyStreamClient对接海康流媒体V4.X——SDK 结构体定义说明

    EasyStreamClient是一套非常稳定、易用、支持重连的StreamClient工具,以SDK形式提供, 接口调用非常简单。我们前期通过EasyStreamClient对接海康流媒体V4.X实现了无插件播放,在之前的博文中,我们也分享了SDK对接的关键函数以及错误码定义,本文我们分享一下对接海康流媒体V4.X SDK 结构体的定义。

    (1)消息回调说明:

    /**************************/
    /*消息回调函数参数定义*/
    /**********************************************
    sessionhandle 会话句柄
    userdata 用户自定义数据
    errCode 错误码
    param1 错误信息结构体(实现参见示例代码)
    param2 暂时未定义
    param3 暂时未定义
    param4 暂时未定义
    成功返回0 失败返回-1
    ************************************************/
    typedef int (CALLBACK *pStreamClientMsgFunc)(int sessionhandle, void* userdata, int errCode,
    void* param1, void* param2, void* param3, void* param4);
    

    (2)原始数据回调说明:

    /**************************/
    /*原始数据(从流媒体服务器接收的数据)回调函数参数定义*/
    /***********************************************
    sessionhandle 会话句柄
    userdata 用户自定义数据
    pdata 码 流 数 据( STREAM_HEAD 系 统头 数 据 , STREAM_DATA 流 数 据,
    STREAM_PLAYBACK_FINISH 回放、下载或倒放结束)
    datalen 码流数据长度
    成功返回0 失败返回-1
    ***********************************************/
    typedef int (CALLBACK *pStreamClientDataFunc)(int sessionhandle, void* userdata,
    int datatype, void* pdata, int datalen);
    

    (3)PS 数据回调说明:

    /*PS封装数据回调函数参数定义,当接收的码流支持转封装成PS,此数据回调会有数据回调。
    /*当不支持PS转封装时,回调原始码流
    /***********************************************
    sessionhandle 会话句柄
    userdata 用户自定义数据
    pdata 码 流 数 据( STREAM_HEAD 系 统头 数 据 , STREAM_DATA 流 数 据,
    STREAM_PLAYBACK_FINISH 回放、下载或倒放结束)
    datalen 码流数据长度
    成功返回0 失败返回-1
    ***********************************************/
    typedef int (CALLBACK *pStreamClientPsDataFunc)(int sessionhandle, void* userdata,
    int datatype, void* pdata, int datalen);
    

    (4)绝对时间结构体说明:

    /** @struct _ABS_TIME_
    * @brief 绝对时间回放时间参数结构体。
    *
    */
    typedef struct _ABS_TIME_
    {
    unsigned int dwYear; ///< 年
    unsigned int dwMonth; ///< 月
    unsigned int dwDay; ///< 日
    unsigned int dwHour; ///< 时
    unsigned int dwMintes; ///< 分
    unsigned int dwSeconds; ///< 秒
    }ABS_TIME, *pABS_TIME;
    

    (5)消息回调中错误结构体说明:

    /** @struct errorInfo_platform
    * @brief 错误信息结构体
    *
    */
    typedef struct errorInfo_platform
    {
    char moduleID[32]; ///< 模块ID
    char businessID[32]; ///< 业务ID
    INT64 timestamp; ///< 时间戳
    int errorCode; ///< 错误码
    char errorMsg[32]; ///< 错误描述
    }ERRORINFO_PLATFORM,*PERRORINFO_PLATFORM;
    /** @struct errorStackInfo_platform
    * @brief 错误堆栈信息结构体
    *
    */
    typedef struct errorStackInfo_platform
    {
    int* count; ///< 当前错误堆栈深度
    PERRORINFO_PLATFORM perrorInfo; ///< 错误堆栈信息
    }ERRORSTACKINFO_PLATFORM,*PERRORSTACKINFO_PLATFORM;
  • 相关阅读:
    select,radio,checkbox的美化
    BBMASTER 博客
    thymeleaf教程
    Spring Boot入门01
    thymeleaf
    [转]Eclipse中10个最有用的快捷键组合
    SpringMVC实现文件上传
    Maven_项目管理利器入门
    [转]centos6.5安装mysql
    YOUNG博客项目设计书_v01.00_账号管理模块
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15380965.html
Copyright © 2011-2022 走看看