问题描述
- FFmpeg解码 多线程 句柄无法完全释放
-
用CreateThread创建线程并在线程内使用ffmepg API解码,线程结束并且CloseHandle后,从任务管理器发现相应的exe句柄比创建线程之前增加,并没有完全释放,请问是为什么?ffmpeg解码过程如下:av_register_all ->avformat_open_input -> avformat_find_stream_info -> avcodec_find_decoder -> avcodec_open2 (中间从文件读帧操作省略)->avcodec_close -> avformat_close_input 。
如果把avcodec_open2 这个函数注释掉,任务管理器观察相应的exe句柄不会增加;
如果不用CreateThread,用_beginthreadex,句柄仍然增加;
如果不创建子线程,直接运行上述解码流程,句柄不会增加。
时间: 2025-01-24 12:56:24