한 개의 앱 안에서 여러개의 비디오 파일을 번갈아가며 동작 시키는데 어느 순간 약 20~30번의 플레이 후에
Mediaplayer가 동작하지 않아요.
Out of memory 라고 로그에 나오긴 하는데 파일 하나를 재생하고 종료 시, mp.release; mp = null; 등의 처리는 해주고 있어요.
아래 로그를 첨부합니다. 혹시 로그를 보시고 어느 부분이 문제라고 짐작되신다면 알려주시면 정말 감사합니다 ㅠㅠ
추가로 mediaplayer 가 동작하지 못하는 정확한 부분은 new -> prepareAsync -> onprepared -> mp.start() 직후, 즉 Start 메서드 직후 입니다.!
D/VideoPlayer3Activity( 2442): playVideo()
I/AwesomePlayer( 100): AwesomePlayer::AwesomePlayer()in
I/AwesomePlayer( 100): AwesomePlayer::AwesomePlayer()aftermClient.connect()
W/MediaPlayer( 2442): info/warning (701, 0)
D/VideoPlayer3Activity( 2442): playVideo() end
I/H264_DEBUG( 100): init done status 0
I/MediaPlayer( 2442): Info (701,0)
D/VideoPlayer3Activity( 2442): onPrepared!!!!!!!!!!!!!!!!!!!!!!!
V/VideoPlayer3Activity( 2442): startVideoPlayback()
V/VideoPlayer3Activity( 2442): startVideoPlayback() start
W/InputMethodManagerService( 357): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@413281b8 attribute=null, token = android.os.BinderProxy@413ce9f8
I/H264_DEBUG( 100): Width 1280 Height 720
I/H264_DEBUG( 100): videoRange 0, matrixCoefficients 2
W/SoftAAC ( 100): Sample rate was 48000 Hz, but now is 24000 Hz
I/SoftwareRenderer( 100): SoftwareRenderer construct, width: 1280, heigth: 720, mNativeWindow: 0x415df498
E/AwesomePlayer( 100): we're late by 00000000 us (0.00 secs) framequeue size 2
W/MediaPlayer( 2442): info/warning (3, 0)
W/MediaPlayer( 2442): info/warning (702, 0)
I/MediaPlayer( 2442): Info (3,0)
I/MediaPlayer( 2442): Info (702,0)
E/Ionalloc( 100): ion_alloc: ION_IOC_ALLOC failed to alloc 0x18a000 bytes with error(flags = 0x10001) - Out of memory
E/AwesomePlayer( 100): we're late by 00010735 us (0.01 secs) framequeue size 2
E/Ionalloc( 100): ion_alloc: ION_IOC_ALLOC failed to alloc 0x18a000 bytes with error(flags = 0x10001) - Out of memory
E/H264_DEBUG( 100): h264bsdAllocateDpbImage failed
E/H264_DEBUG( 100): FATAL ERROR: -4
E/MediaPlayer( 2442): error (1, -12)
E/MediaPlayer( 2442): Error (1,-12)
E/MediaPlayer( 2442): Attempt to perform seekTo in wrong state: mPlayer=0x5ca71508, mCurrentState=0
E/MediaPlayer( 2442): error (-38, 0)
E/MediaPlayer( 2442): pause called in state 0
E/MediaPlayer( 2442): error (-38, 0)
E/MediaPlayer( 2442): Error (-38,0)
E/MediaPlayer( 2442): Attempt to perform seekTo in wrong state: mPlayer=0x5ca71508, mCurrentState=0