fayfive

fayfive

0个粉丝

13

问答

0

专栏

0

资料

fayfive  发布于  2016-09-07 20:21:31
采纳率 0%
13个问答
3253

[求助]请问为何3531编码拿了流之后释放不了流?

 
本帖最后由 fayfive 于 2016-9-8 11:50 编辑

请问为何3531编码拿了流之后释放不了流?最后导致buff越界
Lost和Leakbuf会一直增大,RlsStr一直为0,我用海思自带的Demo也是出现这种情况
我只是简单的HI_MPI_VENC_GetStream  ,

HI_U8 Pack[1024*10]
s32Ret = HI_MPI_VENC_Query(i, &stStat);
if (HI_SUCCESS != s32Ret)
{
     SAMPLE_PRT("HI_MPI_VENC_Query chn[%d] failed with %#x!\n", i, s32Ret);
      break;
}
if((stStat.u32LeftStreamBytes>0)&&(stStat.u32CurPacks>0))
{
        stStream.u32PackCount = stStat.u32CurPacks;
        stStream.pstPack =  Pack;
        s32Ret = HI_MPI_VENC_GetStream(i, &stStream, HI_TRUE);
        if (HI_SUCCESS != s32Ret)
       {
             stStream.pstPack = NULL;
             SAMPLE_PRT("HI_MPI_VENC_GetStream failed with %#x!\n", s32Ret);
                    break;
       }
                   
      s32Ret = HI_MPI_VENC_ReleaseStream(i, &stStream);
                if (HI_SUCCESS != s32Ret)
                {
                    SAMPLE_PRT("HI_MPI_VENC_ReleaseStream failed with %#x!\n", s32Ret);
                    stStream.pstPack = NULL;
                    break;
                }
                stStream.pstPack = NULL;
}
求解答
我来回答
回答11个
时间排序
认可量排序

fayfive

0个粉丝

13

问答

0

专栏

0

资料

fayfive 2016-09-08 11:51:37
认可0
请问有人知道吗?

JACK_ZHANG

0个粉丝

5

问答

0

专栏

0

资料

JACK_ZHANG 2016-09-08 14:33:13
认可0
看看你那返回值的错误码。还有你获取流的buffer10K够吗????如果获取的码流超过这个大小,将是致命的错误,直接崩溃

fayfive

0个粉丝

13

问答

0

专栏

0

资料

fayfive 2016-09-08 15:22:10
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=37395&ptid=12575]JACK_ZHANG 发表于 2016-9-8 14:33[/url]
看看你那返回值的错误码。还有你获取流的buffer10K够吗????如果获取的码流超过这个大小,将是致命的错 ...[/quote]

您好!我的返回值都是成功的,失败的时候没有返回值,直接自己退出或者打印虚拟地址错误直接死机

JACK_ZHANG

0个粉丝

5

问答

0

专栏

0

资料

JACK_ZHANG 2016-09-08 16:10:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=37400&ptid=12575]fayfive 发表于 2016-9-8 15:22[/url]
您好!我的返回值都是成功的,失败的时候没有返回值,直接自己退出或者打印虚拟地址错误直接死机[/quote]

那很可能就是你那给Pack分配的大小不够,直接分配个比较大的值,比如2M,测试看是否能一直正常,如果正常的话,应该就是你取到的流的大小超过你这分配的内存大小,内存访问溢出了,肯定得挂,最好是请求的时候知道这个流的大小,动态分配

JACK_ZHANG

0个粉丝

5

问答

0

专栏

0

资料

JACK_ZHANG 2016-09-08 16:18:20
认可0
好吧,我楼上说错了,这个10K不是保存码流,只是保存码流信息,应该够,但是你也可以尝试动态分配,不至于不够或者浪费

fayfive

0个粉丝

13

问答

0

专栏

0

资料

fayfive 2016-09-08 16:36:33
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=37407&ptid=12575]JACK_ZHANG 发表于 2016-9-8 16:18[/url]
好吧,我楼上说错了,这个10K不是保存码流,只是保存码流信息,应该够,但是你也可以尝试动态分配,不至于 ...[/quote]

我用海思自带的venc也会出现这种情况,Lost和Leakbuf会一直增大,RlsStr一直为0,,海思那个是动态分配内存的

JACK_ZHANG

0个粉丝

5

问答

0

专栏

0

资料

JACK_ZHANG 2016-09-08 17:17:13
认可0
你用 cat /dev/log查看下有没有什么错误信息,按理说出现你那种情况,肯定会有错误提示的

fayfive

0个粉丝

13

问答

0

专栏

0

资料

fayfive 2016-09-08 18:11:46
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=37415&ptid=12575]JACK_ZHANG 发表于 2016-9-8 17:17[/url]
你用 cat /dev/log查看下有没有什么错误信息,按理说出现你那种情况,肯定会有错误提示的[/quote]

一直重复<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
截取最后几行

<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
<3>[    vi] [Func]:ViuDrvInterruptRoute [Line]:3087 [Info]:<3>[    vi] s32PhyChn 0 VIU_BUFOVF_INT
<3>[    vi] [Func]:VIU_DRV_DisableChn [Line]:1350 [Info]:<3>[    vi] !! Disable ViChn:4 timeout 120ms!!!
<3>[    vi] [Func]:VIU_DRV_DisableChn [Line]:1350 [Info]:<3>[    vi] !! Disable ViChn:8 timeout 120ms!!!
<3>[    vi] [Func]:VIU_DRV_DisableChn [Line]:1350 [Info]:<3>[    vi] !! Disable ViChn:12 timeout 120ms!!!
<3>[  hdmi] [Func]:DRV_HDMI_Stop [Line]:3172 [Info]:<3>[  hdmi] HdmiId 0 is NOT open.

JACK_ZHANG

0个粉丝

5

问答

0

专栏

0

资料

JACK_ZHANG 2016-09-09 09:44:17
认可0
看你这是VI就有问题了啊,但是这个提示也可能是系统配置引起的,你说运行海思的demo就有问题,我觉得可能是你的系统 配置或者硬件问题比较大,海思的demo还是很稳定的,如果你没有自己修改过的话

JACK_ZHANG

0个粉丝

5

问答

0

专栏

0

资料

JACK_ZHANG 2016-09-09 09:45:43
认可0
可以试着运行下海思其他的demo看是否正常,还有就是你现在这个运行的程序逐步屏蔽排除下出问题的点,能看到错误提示,定位问题应该会方便很多

fayfive

0个粉丝

13

问答

0

专栏

0

资料

fayfive 2016-09-09 16:39:09
认可0
找到问题,原来我运行时用./sample_enc &后台运行,子线程没有开启,所以看到没有release
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区