mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Fix a memory leak in CvCapture_FFMPEG::close
FFmpeg now requires that frames allocated with avcodec_alloc_frame are
freed with avcodec_free_frame.
(cherry picked from commit 77578d415f
)
Conflicts:
modules/highgui/src/cap_ffmpeg_impl.hpp
This commit is contained in:
parent
1858b5cfba
commit
34ad2e0fa4
@ -302,7 +302,15 @@ void CvCapture_FFMPEG::close()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( picture )
|
if( picture )
|
||||||
|
{
|
||||||
|
// FFmpeg and Libav added avcodec_free_frame in different versions.
|
||||||
|
#if LIBAVCODEC_BUILD >= (LIBAVCODEC_VERSION_MICRO >= 100 \
|
||||||
|
? CALC_FFMPEG_VERSION(54, 59, 100) : CALC_FFMPEG_VERSION(54, 28, 0))
|
||||||
|
avcodec_free_frame(&picture);
|
||||||
|
#else
|
||||||
av_free(picture);
|
av_free(picture);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if( video_st )
|
if( video_st )
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user