Example #1
0
        /// <summary>
        /// 打开一路码流,返回一个可用的通道 ID
        /// </summary>
        /// <param name="playerHandle">PLAYER_HANDLE句柄.</param>
        /// <param name="channelType">通道源类型.</param>
        /// <param name="streamURI">有效的源地址.</param>
        /// <param name="mediaType">媒体类型【媒体类型 MEDIA_TYPE_VIDEO | MEDIA_TYPE_AUDIO | MEDIA_TYPE_EVENT)】 暂保留.</param>
        /// <param name="callback">回调函数.</param>
        /// <param name="userPtr">用户自定义指针.</param>
        /// <param name="reconnection">是否重连【1表示无限次重连,0表示不重连,大于1表示指定次数重连(需小于1000)】默认1.</param>
        /// <param name="queueSize">缓冲队列大小, 需大于1024*512.默认1024 * 512 * 2</param>
        /// <param name="rtpOverTcp">true 为tcp,否则为udp.默认1</param>
        /// <param name="multiplex">true:复用源,即打开同一个url时,到前端的连接只有一个;false:不复用, 打开多少个url,就有多少个连接*默认true
        /// <returns>可用的通道 ID.</returns>
        public static int LibEasyPlayerPro_OpenStream(IntPtr playerHandle, EASY_CHANNEL_SOURCE_TYPE_ENUM channelType, string streamURI, MEDIA_TYPE mediaType,
                                                      EasyPlayerProCallBack callback, IntPtr userPtr, uint reconnection = 1, uint queueSize = 1024 * 512 * 2, bool overTcp = true, bool multiplex = true)
        {
            int ret = LibEasyPlayerPro_OpenStream(playerHandle, channelType, streamURI, overTcp ? (byte)1 : (byte)0, mediaType, callback, userPtr, reconnection, 0, queueSize, multiplex ? (uint)1 : (uint)0);

            return(ret);
        }
Example #2
0
 private static extern int LibEasyPlayerPro_OpenStream(IntPtr playerHandle, EASY_CHANNEL_SOURCE_TYPE_ENUM channelType, string streamURI, byte rtpOverTcp, MEDIA_TYPE mediaType,
                                                       EasyPlayerProCallBack callback, IntPtr userPtr, uint reconnection, uint heartbeatType, uint queueSize, uint multiplex);