Toybrick

mpp崩溃问题

kispr

注册会员

积分
125
发表于 2022-7-19 17:05:36    查看: 1365|回复: 0 | [复制链接]    打印 | 显示全部楼层
本帖最后由 kispr 于 2022-7-19 17:07 编辑

关于mpp解码4路崩溃的问题
*平台 RK3399Pro

*环境
系统内核:Linux debian10.toybrick 4.4.194-bRK3399Pro-Linux4-EMB-3532-V3.0-SHYM-g90d6dee
mpp版本:
toybrick@debian10:~$ dpkg -l | grep mpp
ii  rockchip-mpp                          1.4.0-5                                 arm64        Rockchip mpp Libraries
ii  rockchip-mpp-dev                      1.4.0-5                                 arm64        Development package for Rockchip mpp Libraries
toybrick@debian10:~$

解码分辨率:4路1920*1080视频流


复现步骤和问题:
1. gdb启动程序,解码4路rtsp流并显示
2. 一段时间(约2小时)后程序崩溃,程序堆栈显示mpp错误。

堆栈日志:
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
[Detaching after fork from child process 31296]
[Detaching after fork from child process 31297]
[Detaching after fork from child process 31298]
[Detaching after fork from child process 31299]
[Detaching after fork from child process 31303]
[Detaching after fork from child process 31304]
[Detaching after fork from child process 31305]
[Detaching after fork from child process 31306]
[Detaching after fork from child process 31307]
[Detaching after fork from child process 31308]
[Detaching after fork from child process 31309]
[Detaching after fork from child process 31310]
[Detaching after fork from child process 31312]
[Detaching after fork from child process 31313]
[Detaching after fork from child process 31314]
[Detaching after fork from child process 31315]
[Detaching after fork from child process 31316]
[Detaching after fork from child process 31317]
[Detaching after fork from child process 31318]
[Detaching after fork from child process 31319]
[Detaching after fork from child process 31322]
[Detaching after fork from child process 31323]
[Detaching after fork from child process 31324]
[Detaching after fork from child process 31325]
[Detaching after fork from child process 31326]
[Detaching after fork from child process 31327]
[Detaching after fork from child process 31328]
[Detaching after fork from child process 31329]

[Switching to Thread 0x7eacfe8f70 (LWP 30165)]
0x0000007fb5ed4070 in parse_prepare () from lib/librockchip_mpp.so.1
(gdb)
(gdb) bt
#0  0x0000007fb5ed4070 in parse_prepare () from lib/librockchip_mpp.so.1
#1  0x0000007fb5ed286c in h264d_prepare () from lib/librockchip_mpp.so.1
#2  0x0000007fb5ea2ae4 in mpp_dec_parser_thread(void*) ()
   from lib/librockchip_mpp.so.1
#3  0x0000007fb3d287e4 in start_thread (arg=0x7fa1959a1f)
    at pthread_create.c:486
#4  0x0000007fb3a12adc in thread_start ()
    at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

(gdb)
程序mpp调用代码片段如下:
m_pMppDecoder->ops->enqueue(lpModule->m_pMppDecoder, (uchar*)lpBuffer, dwBufferSize);



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表