MPlayer] libmad memory leak

mplayer를 이용하여 mp3를 재생하는데 구간반복을 구현하고자 하였다.

mplayer에서는 seek 함수를 이용하여 시간절대값이나 상대적인 위치로 frame을 이동시킬수 있었다.

하지만 mp3재생시에 mad 라이브러리를 사용하는데 구간반복시 계속 메모리 누수가 일어나는것이었다.

혹시 다른 문제인가 했지만 ffmpeg 코덱을 사용할때는 아무런 문제가 나타나지 않았다.

그럼 libmad의 문제인데.. 자체 라이브러리 문제는 아닌거 같아 mplayer쪽을 들여다보고

google에 관련된 정보를 찾아보았지만 특별한것은 발견하지 못했다.

seek시에 들어가는 함수를 들여다보니 resync 함수를 호출하면서 ad_libmad.c 의 control함수로 들어가지는듯이 보였다.

여기서 ADCTRL_RESYNC_STREAM 명령이 들어가는데 mad_sync와 frame, stream을 init하는 부분이 맘에 걸렸다.

그래서 위에 finish함수를 넣어 메모리 해제를 시켜주니 메모리 누수가 사라졌다... ( 아직 더 두고봐야하지만.. )

by 이카로스 | 2009/05/28 10:22 | Linux | 트랙백 | 덧글(0)

트랙백 주소 : http://icarosss.egloos.com/tb/2330624
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

.

<< 이전 페이지     다음 페이지 >>