[FFmpeg-devel] Memory leaks in libavformat/segment.c
Lvqier
lvqier at gmail.com
Fri Dec 4 04:20:17 CET 2015
Hi,
I am using FFmpeg to generate mpegts segments. FFmpeg has memory leaks,
see the valgrind output in the attachment.
Command line to reproduce:
> valgrind --tool=memcheck --leak-check=full ./ffmpeg_g -f decklink -i
'DeckLink Mini Recorder at 14' -map 0 -acodec libvo_aacenc -vcodec libx264
-pix_fmt yuv420p -vprofile baseline -q 2 -r 25 -g 25 -dn -f
stream_segment -segment_format mpegts -segment_time 10
/dev/shm/capture/libav-%010d.ts
I have read the source code of libavformat/segment.c and make a patch
which is attached as well to fix it.
--
/Best Regards,
lvqier - lvqier at gmail.com <mailto:lvqier at gmail.com>
/
******************************************
青春如烟,唱一首笑忘歌
-------------- next part --------------
--- ../ffmpeg-2.8.1/libavformat/segment.c 2015-09-09 09:17:47.000000000 +0800
+++ libavformat/segment.c 2015-12-03 14:37:45.000000000 +0800
@@ -388,6 +388,7 @@
end:
avio_closep(&oc->pb);
+ av_freep(&seg->cur_entry.filename);
return ret;
}
@@ -887,7 +888,7 @@
av_opt_free(seg);
av_freep(&seg->times);
av_freep(&seg->frames);
- av_freep(&seg->cur_entry.filename);
+// av_freep(&seg->cur_entry.filename);
cur = seg->segment_list_entries;
while (cur) {
-------------- next part --------------
==9644== Memcheck, a memory error detector
==9644== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==9644== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==9644== Command: ./ffmpeg_g -f decklink -i DeckLink\ Mini\ Recorder at 14 -map 0 -acodec libvo_aacenc -vcodec libx264 -pix_fmt yuv420p -vprofile baseline -q 2 -r 25 -g 25 -dn -f stream_segment -segment_format mpegts -segment_time 2 /dev/shm/capture/libav-%010d.ts
==9644==
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --prefix=../build --enable-gpl --enable-version3 --enable-decklink --disable-filter=showcqt --enable-libx264 --enable-libvo_aacenc --extra-cflags=-I../../include/ --extra-libs=-ldl
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
==9644== Warning: noted but unhandled ioctl 0x90001 with no size/direction hints.
==9644== This could cause spurious value errors to appear.
==9644== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==9644== Conditional jump or move depends on uninitialised value(s)
==9644== at 0x6B2FB12: CreateDeckLinkIterator (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A91DF2: CDeckLinkIterator::CDeckLinkIterator() (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A91E72: CreateDeckLinkIteratorInstance_Head() (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x4060BD: ff_decklink_read_header (decklink_dec.cpp:386)
==9644== by 0x66C552: avformat_open_input (utils.c:473)
==9644== by 0x47C80C: open_input_file (ffmpeg_opt.c:925)
==9644== by 0x47DD97: open_files (ffmpeg_opt.c:2910)
==9644== by 0x47DD97: ffmpeg_parse_options (ffmpeg_opt.c:2947)
==9644== by 0x46E896: main (ffmpeg.c:4143)
==9644==
==9644== Conditional jump or move depends on uninitialised value(s)
==9644== at 0x6B2FBED: CreateDeckLinkIterator (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A91DF2: CDeckLinkIterator::CDeckLinkIterator() (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A91E72: CreateDeckLinkIteratorInstance_Head() (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x4060BD: ff_decklink_read_header (decklink_dec.cpp:386)
==9644== by 0x66C552: avformat_open_input (utils.c:473)
==9644== by 0x47C80C: open_input_file (ffmpeg_opt.c:925)
==9644== by 0x47DD97: open_files (ffmpeg_opt.c:2910)
==9644== by 0x47DD97: ffmpeg_parse_options (ffmpeg_opt.c:2947)
==9644== by 0x46E896: main (ffmpeg.c:4143)
==9644==
.........................................................
==9644== Use of uninitialised value of size 8
==9644== at 0x54E4A66: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54E56B1: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54E6930: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54E4311: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54D9144: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54D895E: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x8B904F: aac_encode_frame (libvo-aacenc.c:165)
==9644== by 0xA38752: avcodec_encode_audio2 (utils.c:1958)
==9644== by 0x48C285: do_audio_out (ffmpeg.c:849)
==9644== by 0x48C285: reap_filters (ffmpeg.c:1398)
==9644== by 0x46EADF: transcode_step (ffmpeg.c:3939)
==9644== by 0x46EADF: transcode (ffmpeg.c:3982)
==9644== by 0x46EADF: main (ffmpeg.c:4165)
==9644==
==9644== Use of uninitialised value of size 8
==9644== at 0x54E4A71: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54E56B1: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54E6930: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54E4311: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54D9144: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x54D895E: ??? (in /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0.0.4)
==9644== by 0x8B904F: aac_encode_frame (libvo-aacenc.c:165)
==9644== by 0xA38752: avcodec_encode_audio2 (utils.c:1958)
==9644== by 0x48C285: do_audio_out (ffmpeg.c:849)
==9644== by 0x48C285: reap_filters (ffmpeg.c:1398)
==9644== by 0x46EADF: transcode_step (ffmpeg.c:3939)
==9644== by 0x46EADF: transcode (ffmpeg.c:3982)
==9644== by 0x46EADF: main (ffmpeg.c:4165)
==9644==
==9644==
==9644== More than 1000 different errors detected. I'm not reporting any more.
==9644== Final error counts will be inaccurate. Go fix your program!
==9644== Rerun with --error-limit=no to disable this cutoff. Note
==9644== that errors may occur in your program without prior warning from
==9644== Valgrind, because errors are no longer being displayed.
==9644==
frame= 3 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A
frame= 10 fps=8.9 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=9
frame= 16 fps=9.6 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=18
frame= 23 fps= 11 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=28
frame= 28 fps= 10 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=35
frame= 28 fps=3.0 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=35
frame= 29 fps=2.4 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=36
frame= 29 fps=2.3 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=36
frame= 31 fps=1.4 q=0.0 size=N/A time=00:00:00.11 bitrate=N/A dup=0 drop=39
frame= 42 fps=0.7 q=28.0 size=N/A time=00:00:00.16 bitrate=N/A dup=7 drop=40
frame= 43 fps=0.5 q=28.0 size=N/A time=00:00:00.20 bitrate=N/A dup=7 drop=40
frame= 46 fps=0.5 q=28.0 size=N/A time=00:00:00.32 bitrate=N/A dup=7 drop=40
frame= 47 fps=0.5 q=28.0 size=N/A time=00:00:00.36 bitrate=N/A dup=7 drop=40
frame= 48 fps=0.5 q=28.0 size=N/A time=00:00:00.40 bitrate=N/A dup=7 drop=40
frame= 50 fps=0.5 q=28.0 size=N/A time=00:00:00.48 bitrate=N/A dup=7 drop=40
frame= 51 fps=0.5 q=28.0 size=N/A time=00:00:00.52 bitrate=N/A dup=7 drop=40
frame= 52 fps=0.4 q=28.0 size=N/A time=00:00:00.56 bitrate=N/A dup=7 drop=40
frame= 52 fps=0.4 q=28.0 size=N/A time=00:00:00.56 bitrate=N/A dup=7 drop=40
frame= 54 fps=0.4 q=28.0 size=N/A time=00:00:00.64 bitrate=N/A dup=7 drop=41
frame= 55 fps=0.4 q=28.0 size=N/A time=00:00:00.68 bitrate=N/A dup=7 drop=41
frame= 56 fps=0.4 q=28.0 size=N/A time=00:00:00.72 bitrate=N/A dup=7 drop=41
frame= 57 fps=0.4 q=28.0 size=N/A time=00:00:00.76 bitrate=N/A dup=7 drop=41
frame= 57 fps=0.4 q=28.0 size=N/A time=00:00:00.76 bitrate=N/A dup=7 drop=41
frame= 61 fps=0.4 q=28.0 size=N/A time=00:00:00.92 bitrate=N/A dup=7 drop=42
frame= 62 fps=0.4 q=28.0 size=N/A time=00:00:00.96 bitrate=N/A dup=7 drop=42
frame= 62 fps=0.4 q=28.0 size=N/A time=00:00:00.96 bitrate=N/A dup=7 drop=42
frame= 64 fps=0.4 q=28.0 size=N/A time=00:00:01.04 bitrate=N/A dup=7 drop=43
frame= 65 fps=0.4 q=28.0 size=N/A time=00:00:01.08 bitrate=N/A dup=7 drop=43
frame= 66 fps=0.4 q=26.0 size=N/A time=00:00:01.12 bitrate=N/A dup=7 drop=43
frame= 67 fps=0.4 q=28.0 size=N/A time=00:00:01.16 bitrate=N/A dup=7 drop=43
frame= 70 fps=0.4 q=28.0 size=N/A time=00:00:01.28 bitrate=N/A dup=7 drop=44
frame= 71 fps=0.4 q=28.0 size=N/A time=00:00:01.32 bitrate=N/A dup=7 drop=44
frame= 73 fps=0.4 q=28.0 size=N/A time=00:00:01.40 bitrate=N/A dup=7 drop=44
frame= 74 fps=0.4 q=28.0 size=N/A time=00:00:01.44 bitrate=N/A dup=7 drop=44
frame= 75 fps=0.4 q=28.0 size=N/A time=00:00:01.48 bitrate=N/A dup=7 drop=44
frame= 78 fps=0.3 q=28.0 size=N/A time=00:00:01.60 bitrate=N/A dup=7 drop=45
frame= 79 fps=0.3 q=28.0 size=N/A time=00:00:01.64 bitrate=N/A dup=7 drop=45
frame= 80 fps=0.3 q=28.0 size=N/A time=00:00:01.68 bitrate=N/A dup=7 drop=45
frame= 80 fps=0.3 q=28.0 size=N/A time=00:00:01.68 bitrate=N/A dup=7 drop=45
frame= 82 fps=0.3 q=28.0 size=N/A time=00:00:01.76 bitrate=N/A dup=7 drop=46
frame= 84 fps=0.3 q=28.0 size=N/A time=00:00:01.84 bitrate=N/A dup=7 drop=46
frame= 85 fps=0.3 q=28.0 size=N/A time=00:00:01.88 bitrate=N/A dup=7 drop=46
frame= 86 fps=0.3 q=28.0 size=N/A time=00:00:01.92 bitrate=N/A dup=7 drop=46
frame= 92 fps=0.3 q=28.0 size=N/A time=00:00:02.16 bitrate=N/A dup=11 drop=46
frame= 99 fps=0.3 q=28.0 size=N/A time=00:00:02.44 bitrate=N/A dup=17 drop=46
frame= 108 fps=0.3 q=28.0 size=N/A time=00:00:02.80 bitrate=N/A dup=25 drop=46
frame= 118 fps=0.3 q=28.0 size=N/A time=00:00:03.20 bitrate=N/A dup=34 drop=46
frame= 119 fps=0.3 q=28.0 size=N/A time=00:00:03.24 bitrate=N/A dup=34 drop=46
frame= 131 fps=0.3 q=28.0 size=N/A time=00:00:03.72 bitrate=N/A dup=44 drop=46
frame= 143 fps=0.3 q=28.0 size=N/A time=00:00:04.20 bitrate=N/A dup=55 drop=46
frame= 152 fps=0.3 q=28.0 size=N/A time=00:00:04.56 bitrate=N/A dup=63 drop=46
frame= 156 fps=0.3 q=28.0 size=N/A time=00:00:04.72 bitrate=N/A dup=66 drop=46
frame= 163 fps=0.3 q=28.0 size=N/A time=00:00:05.00 bitrate=N/A dup=72 drop=46
frame= 171 fps=0.3 q=28.0 size=N/A time=00:00:05.32 bitrate=N/A dup=79 drop=46
frame= 176 fps=0.3 q=25.0 size=N/A time=00:00:05.52 bitrate=N/A dup=83 drop=46
frame= 181 fps=0.3 q=28.0 size=N/A time=00:00:05.72 bitrate=N/A dup=87 drop=46
frame= 182 fps=0.3 q=28.0 size=N/A time=00:00:05.76 bitrate=N/A dup=87 drop=46
frame= 187 fps=0.3 q=28.0 size=N/A time=00:00:05.96 bitrate=N/A dup=91 drop=46
frame= 193 fps=0.3 q=28.0 size=N/A time=00:00:06.20 bitrate=N/A dup=96 drop=46
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 17 times
frame= 199 fps=0.3 q=28.0 size=N/A time=00:00:06.44 bitrate=N/A dup=101 drop=46
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 9 times
frame= 204 fps=0.3 q=28.0 size=N/A time=00:00:06.64 bitrate=N/A dup=105 drop=46
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 5 times
frame= 207 fps=0.3 q=28.0 size=N/A time=00:00:06.76 bitrate=N/A dup=107 drop=46
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 39 times
frame= 213 fps=0.3 q=28.0 size=N/A time=00:00:07.00 bitrate=N/A dup=112 drop=46
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 17 times
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 14 times
frame= 213 fps=0.3 q=-1.0 Lsize=N/A time=00:00:08.52 bitrate=N/A dup=112 drop=46
video:2890kB audio:4kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[decklink @ 0x65f1480] Decklink input buffer overrun!
Last message repeated 15 times
[libx264 @ 0x6933b80] frame I:13 Avg QP:19.99 size: 95367
[libx264 @ 0x6933b80] frame P:200 Avg QP:21.80 size: 8600
[libx264 @ 0x6933b80] mb I I16..4: 13.2% 0.0% 86.8%
[libx264 @ 0x6933b80] mb P I16..4: 0.9% 0.0% 3.1% P16..4: 18.8% 5.2% 1.9% 0.0% 0.0% skip:70.1%
[libx264 @ 0x6933b80] coded y,uvDC,uvAC intra: 79.8% 83.6% 44.4% inter: 7.4% 14.2% 1.3%
[libx264 @ 0x6933b80] i16 v,h,dc,p: 43% 17% 8% 32%
[libx264 @ 0x6933b80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 20% 12% 6% 10% 6% 13% 4% 7%
[libx264 @ 0x6933b80] i8c dc,h,v,p: 48% 23% 22% 7%
[libx264 @ 0x6933b80] ref P L0: 79.8% 12.3% 7.8%
[libx264 @ 0x6933b80] kb/s:2779.21
==9644==
==9644== HEAP SUMMARY:
==9644== in use at exit: 2,086,005 bytes in 774 blocks
==9644== total heap usage: 18,854 allocs, 18,080 frees, 1,784,480,849 bytes allocated
==9644==
==9644== 20 bytes in 1 blocks are definitely lost in loss record 46 of 513
==9644== at 0x4C2B1B6: memalign (vg_replace_malloc.c:760)
==9644== by 0x4C2B2D1: posix_memalign (vg_replace_malloc.c:913)
==9644== by 0xE17247: av_malloc (mem.c:97)
==9644== by 0xE17247: av_mallocz (mem.c:254)
==9644== by 0x64AF59: set_segment_filename (segment.c:209)
==9644== by 0x64B60D: seg_write_header (segment.c:689)
==9644== by 0x5F345A: avformat_write_header (mux.c:455)
==9644== by 0x48AE0E: transcode_init (ffmpeg.c:3213)
==9644== by 0x46E8E1: transcode (ffmpeg.c:3953)
==9644== by 0x46E8E1: main (ffmpeg.c:4165)
==9644==
==9644== 26 bytes in 1 blocks are possibly lost in loss record 49 of 513
==9644== at 0x4C29180: operator new(unsigned long) (vg_replace_malloc.c:324)
==9644== by 0x4EF3E98: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20)
==9644== by 0x4EF3F13: std::string::_M_mutate(unsigned long, unsigned long, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20)
==9644== by 0x4EF4393: std::string::_M_replace_aux(unsigned long, unsigned long, unsigned long, char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20)
==9644== by 0x6AD95C7: VTRSerialDevice::VTRSerialDevice(char const*, char const*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6ADB5D2: VTRSony9PinIOCTLAccessSync::VTRSony9PinIOCTLAccessSync(DeckControlHardwareInterface*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6AD65E7: CDeckControl::CDeckControl(CDeckLink*, DeckControlHardwareInterface*, pthread_mutex_t*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A8FEC1: CDeckLink::QueryInterface(REFIID, void**) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A8FD55: CDeckLink::QueryInterface(REFIID, void**) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x4061D6: ff_decklink_read_header (decklink_dec.cpp:424)
==9644== by 0x66C552: avformat_open_input (utils.c:473)
==9644== by 0x47C80C: open_input_file (ffmpeg_opt.c:925)
==9644==
==9644== 26 bytes in 1 blocks are possibly lost in loss record 50 of 513
==9644== at 0x4C29180: operator new(unsigned long) (vg_replace_malloc.c:324)
==9644== by 0x4EF3E98: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20)
==9644== by 0x4EF3F13: std::string::_M_mutate(unsigned long, unsigned long, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20)
==9644== by 0x4EF4393: std::string::_M_replace_aux(unsigned long, unsigned long, unsigned long, char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20)
==9644== by 0x6AD95E9: VTRSerialDevice::VTRSerialDevice(char const*, char const*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6ADB5D2: VTRSony9PinIOCTLAccessSync::VTRSony9PinIOCTLAccessSync(DeckControlHardwareInterface*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6AD65E7: CDeckControl::CDeckControl(CDeckLink*, DeckControlHardwareInterface*, pthread_mutex_t*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A8FEC1: CDeckLink::QueryInterface(REFIID, void**) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A8FD55: CDeckLink::QueryInterface(REFIID, void**) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x4061D6: ff_decklink_read_header (decklink_dec.cpp:424)
==9644== by 0x66C552: avformat_open_input (utils.c:473)
==9644== by 0x47C80C: open_input_file (ffmpeg_opt.c:925)
==9644==
==9644== 60 bytes in 3 blocks are definitely lost in loss record 403 of 513
==9644== at 0x4C2B1B6: memalign (vg_replace_malloc.c:760)
==9644== by 0x4C2B2D1: posix_memalign (vg_replace_malloc.c:913)
==9644== by 0xE17247: av_malloc (mem.c:97)
==9644== by 0xE17247: av_mallocz (mem.c:254)
==9644== by 0x64AF59: set_segment_filename (segment.c:209)
==9644== by 0x64CA69: segment_start (segment.c:237)
==9644== by 0x64CA69: seg_write_packet (segment.c:809)
==9644== by 0x5F52BE: write_packet (mux.c:660)
==9644== by 0x5F52BE: av_write_trailer (mux.c:998)
==9644== by 0x46FB79: transcode (ffmpeg.c:4016)
==9644== by 0x46FB79: main (ffmpeg.c:4165)
==9644==
==9644== 288 bytes in 1 blocks are possibly lost in loss record 489 of 513
==9644== at 0x4C2AD10: calloc (vg_replace_malloc.c:623)
==9644== by 0x4010FD1: allocate_dtv (dl-tls.c:296)
==9644== by 0x40116DD: _dl_allocate_tls (dl-tls.c:460)
==9644== by 0x5E1CC27: allocate_stack (allocatestack.c:589)
==9644== by 0x5E1CC27: pthread_create@@GLIBC_2.2.5 (pthread_create.c:495)
==9644== by 0x6ABE7A2: CDeckLinkNotification::activate() (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6ABEA7B: CDeckLinkNotification::CDeckLinkNotification(CDeckLink*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A90D84: CDeckLink::CDeckLink(DeckLinkInstanceRec*, CDeckLinkDiscovery*) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A90EB3: CDeckLinkIterator::Next(IDeckLink**) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x406151: ff_decklink_read_header (decklink_dec.cpp:406)
==9644== by 0x66C552: avformat_open_input (utils.c:473)
==9644== by 0x47C80C: open_input_file (ffmpeg_opt.c:925)
==9644== by 0x47DD97: open_files (ffmpeg_opt.c:2910)
==9644== by 0x47DD97: ffmpeg_parse_options (ffmpeg_opt.c:2947)
==9644==
==9644== 288 bytes in 1 blocks are possibly lost in loss record 490 of 513
==9644== at 0x4C2AD10: calloc (vg_replace_malloc.c:623)
==9644== by 0x4010FD1: allocate_dtv (dl-tls.c:296)
==9644== by 0x40116DD: _dl_allocate_tls (dl-tls.c:460)
==9644== by 0x5E1CC27: allocate_stack (allocatestack.c:589)
==9644== by 0x5E1CC27: pthread_create@@GLIBC_2.2.5 (pthread_create.c:495)
==9644== by 0x6A8DBAE: CDeckLink::installDriverNotificationThread_MutexHeld(unsigned int) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6A8DBD8: CDeckLink::InstallCallback_MutexHeld(unsigned int) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x6AB3B1E: CDeckLinkInput::EnableVideoInput(unsigned int, unsigned int, unsigned int) (in /usr/lib/libDeckLinkAPI.so)
==9644== by 0x4065B4: ff_decklink_read_header (decklink_dec.cpp:558)
==9644== by 0x66C552: avformat_open_input (utils.c:473)
==9644== by 0x47C80C: open_input_file (ffmpeg_opt.c:925)
==9644== by 0x47DD97: open_files (ffmpeg_opt.c:2910)
==9644== by 0x47DD97: ffmpeg_parse_options (ffmpeg_opt.c:2947)
==9644== by 0x46E896: main (ffmpeg.c:4143)
==9644==
==9644== LEAK SUMMARY:
==9644== definitely lost: 80 bytes in 4 blocks
==9644== indirectly lost: 0 bytes in 0 blocks
==9644== possibly lost: 628 bytes in 4 blocks
==9644== still reachable: 2,085,297 bytes in 766 blocks
==9644== suppressed: 0 bytes in 0 blocks
==9644== Reachable blocks (those to which a pointer was found) are not shown.
==9644== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==9644==
==9644== For counts of detected and suppressed errors, rerun with: -v
==9644== Use --track-origins=yes to see where uninitialised values come from
==9644== ERROR SUMMARY: 873637 errors from 1006 contexts (suppressed: 0 from 0)
More information about the ffmpeg-devel
mailing list