| 本帖最后由 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); 
 
 
 |