FFmpeg 메모리릭 질문입니다.

park3250의 이미지

안녕하세요
FFmpeg 사용하여 먹싱/스플릿을 하는데요

해제는 정상적으로 다 처리 해준거같은데 계속 메모리 릭이 발생합니다

어떤 메모리 해제를 안해줘서 생기는걸까요..

리눅스에서 valgrind 사용한 결과입니다.

==4357== Memcheck, a memory error detector
==4357== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==4357== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==4357== Command: ./splmux_test 599 ./test
==4357== Parent PID: 18892
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008E5D: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF6EA: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008EAD: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF6EA: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008EC3: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF6EA: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008ECB: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF6EA: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008ED5: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF6EA: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008E5D: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF738: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008EAD: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF738: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008EC3: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF738: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008ECB: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF738: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Conditional jump or move depends on uninitialised value(s)
==4357==    at 0x327F008ED5: pthread_mutex_init (in /lib64/libpthread-2.12.so)
==4357==    by 0x4096ED: ff_lockmgr (in /k3/psh/splmux_test)
==4357==    by 0x54CF738: av_lockmgr_register (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x409799: Init_FFmpeg (in /k3/psh/splmux_test)
==4357==    by 0x405C71: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:40)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== Thread 2:
==4357== Mismatched free() / delete / delete []
==4357==    at 0x4A0628A: operator delete[](void*) (vg_replace_malloc.c:619)
==4357==    by 0x405AFD: ResetTrackInfo (xsplmux_define.h:102)
==4357==    by 0x405AFD: stMp4MuxerParam::~stMp4MuxerParam() (xsplmux_define.h:115)
==4357==    by 0x4059DD: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:127)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357==  Address 0x76ea190 is 0 bytes inside a block of size 1,060 alloc'd
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x4057D4: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:81)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 
==4357== HEAP SUMMARY:
==4357==     in use at exit: 3,966,070 bytes in 8,814 blocks
==4357==   total heap usage: 339,851 allocs, 331,037 frees, 109,566,083 bytes allocated
==4357== 
==4357== Thread 1:
==4357== 2 bytes in 1 blocks are still reachable in loss record 1 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CA5CBB: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CAEC68: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC1A0D: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC35F4: av_interleaved_write_frame (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40E4E6: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357==    by 0x40C9C5: XMuxer::PutSample(mfxBitstream*, int) (XMuxer.cpp:44)
==4357==    by 0x4085DA: PutSampleFrame(XMuxer*, std::auto_ptr<stBitFrame>&) (xsplmux.cpp:449)
==4357==    by 0x40621A: worker_thread(void*) (SplMuxMultiThreadTest.cpp:127)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 8 bytes in 1 blocks are still reachable in loss record 2 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DDD0: av_strdup (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F95022: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DC34: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357== 
==4357== 8 bytes in 1 blocks are indirectly lost in loss record 3 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x4A072EE: realloc (vg_replace_malloc.c:784)
==4357==    by 0x4D23BE3: avformat_new_stream (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B6F2: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 8 bytes in 1 blocks are indirectly lost in loss record 4 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DDD0: av_strdup (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F95022: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B750: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357== 
==4357== 14 bytes in 1 blocks are still reachable in loss record 5 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DDD0: av_strdup (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F94FF1: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DC34: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357== 
==4357== 14 bytes in 1 blocks are indirectly lost in loss record 6 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DDD0: av_strdup (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F94FF1: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B750: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 7 of 48
==4357==    at 0x4A078F2: operator new[](unsigned long) (vg_replace_malloc.c:421)
==4357==    by 0x408EAF: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:192)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 8 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x40921A: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:368)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 9 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x40D5A6: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 10 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x40D614: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 11 of 48
==4357==    at 0x4A0736C: realloc (vg_replace_malloc.c:784)
==4357==    by 0x4D23BE3: avformat_new_stream (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DBA1: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 12 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F95039: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DC34: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357== 
==4357== 16 bytes in 1 blocks are still reachable in loss record 13 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x4A072EE: realloc (vg_replace_malloc.c:784)
==4357==    by 0x5F950C2: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DC34: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 16 bytes in 1 blocks are indirectly lost in loss record 14 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F95039: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B750: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357== 
==4357== 16 bytes in 1 blocks are indirectly lost in loss record 15 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x4A072EE: realloc (vg_replace_malloc.c:784)
==4357==    by 0x5F950C2: av_dict_set (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC2CB8: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B750: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 18 bytes in 1 blocks are still reachable in loss record 16 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5017519: ??? (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x40E427: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357==    by 0x40C9C5: XMuxer::PutSample(mfxBitstream*, int) (XMuxer.cpp:44)
==4357==    by 0x4085DA: PutSampleFrame(XMuxer*, std::auto_ptr<stBitFrame>&) (xsplmux.cpp:449)
==4357==    by 0x40621A: worker_thread(void*) (SplMuxMultiThreadTest.cpp:127)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 36 bytes in 1 blocks are still reachable in loss record 17 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x40D226: SetStreamInfo (in /k3/psh/splmux_test)
==4357==    by 0x40DBDB: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 36 bytes in 1 blocks are still reachable in loss record 18 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CAFA54: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC2B23: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DC34: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 40 bytes in 1 blocks are still reachable in loss record 19 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x40BD82: CInterfaceFactory::CreateNetworkIO(CFileHandler*, long long) (InterfaceFactory.cpp:32)
==4357==    by 0x4093EC: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:421)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 40 bytes in 1 blocks are still reachable in loss record 20 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x4060D0: worker_thread(void*) (SplMuxMultiThreadTest.cpp:121)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 56 bytes in 1 blocks are still reachable in loss record 21 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x40BCD5: CInterfaceFactory::CreateMuxerWrapper(std::auto_ptr<MFXStreamParams>&, std::auto_ptr<MFXDataIO>&, int, int, unsigned int) (InterfaceFactory.cpp:43)
==4357==    by 0x40940D: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:423)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 80 bytes in 1 blocks are definitely lost in loss record 22 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x40B5C4: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 96 bytes in 1 blocks are still reachable in loss record 23 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x4091CB: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:365)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 96 bytes in 1 blocks are definitely lost in loss record 24 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4D23C0B: avformat_new_stream (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B6F2: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 104 bytes in 1 blocks are still reachable in loss record 25 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x40BBCD: CInterfaceFactory::CreateMuxer() (InterfaceFactory.cpp:37)
==4357==    by 0x40BCC6: CInterfaceFactory::CreateMuxerWrapper(std::auto_ptr<MFXStreamParams>&, std::auto_ptr<MFXDataIO>&, int, int, unsigned int) (InterfaceFactory.cpp:42)
==4357==    by 0x40940D: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:423)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 120 bytes in 1 blocks are still reachable in loss record 26 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x405FD0: worker_thread(void*) (SplMuxMultiThreadTest.cpp:78)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 136 bytes in 1 blocks are still reachable in loss record 27 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC24AE: avformat_alloc_output_context2 (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40D53C: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 184 bytes in 1 blocks are still reachable in loss record 28 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4C5FBAF: avio_alloc_context (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40D4CC: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 192 bytes in 2 blocks are still reachable in loss record 29 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4D23C0B: avformat_new_stream (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DBA1: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 272 bytes in 1 blocks are still reachable in loss record 30 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x40D42E: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 568 bytes in 1 blocks are still reachable in loss record 31 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x327EC66ECA: __fopen_internal (in /lib64/libc-2.12.so)
==4357==    by 0x404FC9: CSplReader::Initialize(CFileInfo*) (SplReader.cpp:32)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 568 bytes in 1 blocks are still reachable in loss record 32 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x327EC66ECA: __fopen_internal (in /lib64/libc-2.12.so)
==4357==    by 0x405A72: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:40)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 608 bytes in 1 blocks are possibly lost in loss record 33 of 48
==4357==    at 0x4A05EDF: calloc (vg_replace_malloc.c:710)
==4357==    by 0x327E4119A2: _dl_allocate_tls (in /lib64/ld-2.12.so)
==4357==    by 0x327F0072CC: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.12.so)
==4357==    by 0x405C0C: SplMuxMultiThreadTest::Start() (SplMuxMultiThreadTest.cpp:59)
==4357==    by 0x405C79: SplMuxMultiThreadTest::Run() (SplMuxMultiThreadTest.cpp:42)
==4357==    by 0x404283: main (ux_main.cpp:76)
==4357== 
==4357== 656 bytes in 1 blocks are still reachable in loss record 34 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CAF66F: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC2B23: avformat_write_header (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DC34: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357== 
==4357== 1,072 bytes in 2 blocks are still reachable in loss record 35 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4D23BF6: avformat_new_stream (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DBA1: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 1,360 bytes in 1 blocks are still reachable in loss record 36 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CDFABA: avformat_alloc_context (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC247D: avformat_alloc_output_context2 (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40D53C: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 1,422 (1,360 direct, 62 indirect) bytes in 1 blocks are definitely lost in loss record 37 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CDFABA: avformat_alloc_context (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC247D: avformat_alloc_output_context2 (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40B696: InitAdtsMuxer (in /k3/psh/splmux_test)
==4357==    by 0x40AB0B: MFXSplitter_GetInfo (in /k3/psh/splmux_test)
==4357==    by 0x40C64D: XSpliter::GetInfo(MFXStreamParams&) (XSpliter.cpp:82)
==4357==    by 0x408E63: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:182)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 2,120 bytes in 2 blocks are still reachable in loss record 38 of 48
==4357==    at 0x4A07D75: operator new(unsigned long) (vg_replace_malloc.c:332)
==4357==    by 0x4090B5: GetDeMuxParamInfo(XSpliter*, stStreamInfo&) (xsplmux.cpp:197)
==4357==    by 0x404E92: CSplReader::ReadContainerHeader(int) (SplReader.cpp:71)
==4357==    by 0x40606C: worker_thread(void*) (SplMuxMultiThreadTest.cpp:98)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 2,128 bytes in 2 blocks are still reachable in loss record 39 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x540F9CA: avcodec_alloc_context3 (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x4D23C30: avformat_new_stream (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40DBA1: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 2,520 bytes in 2 blocks are still reachable in loss record 40 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x4092BF: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:384)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 2,520 bytes in 2 blocks are still reachable in loss record 41 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x40D66C: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 52,584 bytes in 2,191 blocks are still reachable in loss record 42 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F92FEC: av_buffer_create (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F93140: av_buffer_realloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x507079B: ??? (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x50709AD: av_dup_packet (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x4CC1DBD: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC209A: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC363B: av_interleaved_write_frame (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40E4E6: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357== 
==4357== 65,536 bytes in 1 blocks are still reachable in loss record 43 of 48
==4357==    at 0x4A078F2: operator new[](unsigned long) (vg_replace_malloc.c:421)
==4357==    by 0x405576: CMuxWriter::CMuxWriter() (MuxWriter.cpp:9)
==4357==    by 0x405FDB: worker_thread(void*) (SplMuxMultiThreadTest.cpp:78)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 65,536 bytes in 1 blocks are still reachable in loss record 44 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x40D46A: MFXMuxer_Init (in /k3/psh/splmux_test)
==4357==    by 0x40CA10: XMuxer::Init() (XMuxer.cpp:24)
==4357==    by 0x409418: CreateMuxer(CFileHandler*, stMp4MuxerParam*, int) (xsplmux.cpp:424)
==4357==    by 0x4059A7: CMuxWriter::CreateMuxerHeader(char const*, int) (MuxWriter.cpp:114)
==4357==    by 0x405A98: CMuxWriter::Initialize(char const*, unsigned long, stStreamInfo*) (MuxWriter.cpp:48)
==4357==    by 0x40609B: worker_thread(void*) (SplMuxMultiThreadTest.cpp:115)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357==    by 0x327ECE893C: clone (in /lib64/libc-2.12.so)
==4357== 
==4357== 87,640 bytes in 2,191 blocks are still reachable in loss record 45 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F92FAD: av_buffer_create (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F93140: av_buffer_realloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x507079B: ??? (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x50709AD: av_dup_packet (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x4CC1DBD: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC209A: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC363B: av_interleaved_write_frame (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40E4E6: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357== 
==4357== 227,760 bytes in 2,190 blocks are still reachable in loss record 46 of 48
==4357==    at 0x4A05CAC: memalign (vg_replace_malloc.c:857)
==4357==    by 0x4A05D47: posix_memalign (vg_replace_malloc.c:1020)
==4357==    by 0x5F9DD1C: av_malloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DE15: av_mallocz (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CC1D2E: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC209A: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC363B: av_interleaved_write_frame (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40E4E6: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357==    by 0x40C9C5: XMuxer::PutSample(mfxBitstream*, int) (XMuxer.cpp:44)
==4357==    by 0x4085DA: PutSampleFrame(XMuxer*, std::auto_ptr<stBitFrame>&) (xsplmux.cpp:449)
==4357==    by 0x40621A: worker_thread(void*) (SplMuxMultiThreadTest.cpp:127)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== 1,647,590 bytes in 2,191 blocks are still reachable in loss record 47 of 48
==4357==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==4357==    by 0x4A072EE: realloc (vg_replace_malloc.c:784)
==4357==    by 0x5F93120: av_buffer_realloc (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x507079B: ??? (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x50709AD: av_dup_packet (in /k3/lib/libavcodec.so.55.18.102)
==4357==    by 0x4CC1DBD: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC209A: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC363B: av_interleaved_write_frame (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40E4E6: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357==    by 0x40C9C5: XMuxer::PutSample(mfxBitstream*, int) (XMuxer.cpp:44)
==4357==    by 0x4085DA: PutSampleFrame(XMuxer*, std::auto_ptr<stBitFrame>&) (xsplmux.cpp:449)
==4357==    by 0x40621A: worker_thread(void*) (SplMuxMultiThreadTest.cpp:127)
==4357== 
==4357== 1,802,240 bytes in 2 blocks are still reachable in loss record 48 of 48
==4357==    at 0x4A0736C: realloc (vg_replace_malloc.c:784)
==4357==    by 0x5F9DC0A: av_realloc_f (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x5F9DC93: av_reallocp_array (in /k3/lib/libavutil.so.52.38.100)
==4357==    by 0x4CA64C9: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CAEC68: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC1A0D: ??? (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x4CC35F4: av_interleaved_write_frame (in /k3/lib/libavformat.so.55.12.100)
==4357==    by 0x40E4E6: MFXMuxer_PutBitstream (in /k3/psh/splmux_test)
==4357==    by 0x40C9C5: XMuxer::PutSample(mfxBitstream*, int) (XMuxer.cpp:44)
==4357==    by 0x4085DA: PutSampleFrame(XMuxer*, std::auto_ptr<stBitFrame>&) (xsplmux.cpp:449)
==4357==    by 0x40621A: worker_thread(void*) (SplMuxMultiThreadTest.cpp:127)
==4357==    by 0x327F007AA0: start_thread (in /lib64/libpthread-2.12.so)
==4357== 
==4357== LEAK SUMMARY:
==4357==    definitely lost: 1,536 bytes in 3 blocks
==4357==    indirectly lost: 62 bytes in 5 blocks
==4357==      possibly lost: 608 bytes in 1 blocks
==4357==    still reachable: 3,963,864 bytes in 8,805 blocks
==4357==         suppressed: 0 bytes in 0 blocks
==4357== 
==4357== For counts of detected and suppressed errors, rerun with: -v
==4357== Use --track-origins=yes to see where uninitialised values come from
==4357== ERROR SUMMARY: 16 errors from 15 contexts (suppressed: 4 from 4)

bushi의 이미지

내 잘못이 아니다라고 의심되는 것에 대해, 그것을 재현할 수 있는 완전한 코드를 올리세요.

익명 사용자의 이미지

우선 definitely 쪽을 보세요. 소스가 없으니 뭐가 문제인지 알기 어렵네요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.