[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