• H265视频播放器项目EasyPlayer-RTSP-WIN异常终止原因分析


    EasyPlayer播放器系列项目可以说是目前市面中一款非常开放的播放器项目,用户可以根据自己的需求调用接口或者进行开发,实用性强,稳定性也足够优越。上周我们遇到一个用户在使用EasyPlayer-RTSP-WIN的时候报异常终止,程序无法正常运行,如下图:

    于是给该用户远程调试了一次,现在将过程记录下来。

    1、既然程序已经正常运行,说明肯定不是VC环境等问题导致的异常终止;
    2、用户在输入RTSP流地址后,点击播放按钮的时候出现的异常终止,说明异常肯定是在预览函数后面触发的,于是带着疑问单步调试程序,最终定位发现是数组长度定义短了,导致无法完整拷贝字符串。

    下面是具体代码处:
    定位在OnBnClickedButtonPreview()函数中,如下图中,用户原本输入的URL为:

    rtsp://60.208.113.69:1192/37166000581314000001#18?DstCode=01&IsExDomain=1&ServiceType=1&ClientType=0&StreamID=1&SrcTP=2&DstTP=2&SrcPP=0&DstPP=1&MediaTransMode=0&BroadcastType=0&SV=3&Token=gAx2g2e2ki7ybRzFOrV7MnshjMtlb9Wzhy4L7lEeR4I=&ExNat=1&DomainCode=f0ad2e06cb4946d9a67a6f96beb6f5dd&UserId=1&

    但是单独调试到此位置后wszURL已经变成:

    rtsp://60.208.113.69:1192/37166000581314000001#18?DstCode=01&IsExDomain=1&ServiceType=1&ClientType=0&StreamID=1&SrcTP=2&DstTP=2&

    在设计之初,我们并未考虑到URL会出现这么长的情况,已经超过128位,于是重新定义:wchar_t wszURL[512] = {0,};重新跟踪代码,发现到上诉位置时,URL已经被全部拷贝,接着运行下去也再无报错,并且成功预览出图像:

    在该问题中,URL地址过长的问题已经得到了优化,在此我们也欢迎更多的朋友在自己的运行环境中测试EasyPlayer播放器,并及时告知我们需求,我们定会在用户体验上做进一步的调整和完善。

  • 相关阅读:
    c语言输入一个字符串,统计其字母,数字和其他字符的个数,并以柱状图输出
    c语言中的#ifdef和#ifndef
    宏定义#define
    c语言中的register int
    android SDK 更新的几个网址
    android studio启动不进行fetching Android sdk compoment information
    android eclipse ADT 安装maven插件失败
    Jsp 的映射
    Jsp 九大隐式对象
    Jsp 乱码处理
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14848858.html
Copyright © 2020-2023  润新知