'남은그루터기'님이 강좌에 작성하신 대로

ffmpeg을 jni를 써서 android에 올리고 있습니다.


올려주신 샘플코드를 그대로 사용하고 있는데요,

closeMovie()함수만 돌리면 jni에서 에러가 발생하여 앱이 강제종료 되어 버립니다.


Java단에서 하는 일은,


initBasePlayer() --> openMovie --> renderFrame (1회 실행) --> closeMovie()


의 순입니다.


여기에서 closeMovie()에만 들어가면 자동종료 됩니다.


closeMovie() 함수는 다음과 같습니다.


void closeMovie()

{

if (gVideoBuffer != NULL) {

av_freep(gVideoBuffer);

gVideoBuffer = NULL;

}


if (gFrame != NULL)

av_freep(gFrame);

if (gFrameRGB != NULL)

av_freep(gFrameRGB);


if (gVideoCodecCtx != NULL) {

avcodec_close(gVideoCodecCtx);

gVideoCodecCtx = NULL;

}


if (gFormatCtx != NULL) {

av_close_input_file(gFormatCtx);

gFormatCtx = NULL;

}

}


그리고 logcat에서 찍어내는 DEBUG메세지는 다음과 같습니다.


09-30 14:29:48.046: INFO/DEBUG(195): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

09-30 14:29:48.046: INFO/DEBUG(195): Build fingerprint: 'samsung/SHW-M110S/SHW-M110S:2.3.3/GINGERBREAD/VE03:user/release-keys'

09-30 14:29:48.046: INFO/DEBUG(195): pid: 5178, tid: 5178  >>> net.jbong.FFmpegBasic <<<

09-30 14:29:48.050: INFO/DEBUG(195): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad

09-30 14:29:48.054: INFO/DEBUG(195):  r0 00000027  r1 deadbaad  r2 a0000000  r3 00000000

09-30 14:29:48.054: INFO/DEBUG(195):  r4 00000001  r5 00000000  r6 46e98e30  r7 0000a000

09-30 14:29:48.058: INFO/DEBUG(195):  r8 bed1b3b8  r9 44295dd4  10 44295dc0  fp 801a5374

09-30 14:29:48.058: INFO/DEBUG(195):  ip afd46688  sp bed1b358  lr afd19239  pc afd15d04  cpsr 68000030

09-30 14:29:48.062: INFO/DEBUG(195):  d0  766f4d65736f6c63  d1  61727478452f6769

09-30 14:29:48.062: INFO/DEBUG(195):  d2  44297e6c44297e6c  d3  442000004290003b

09-30 14:29:48.062: INFO/DEBUG(195):  d4  0000000041400000  d5  0000000041400000

09-30 14:29:48.062: INFO/DEBUG(195):  d6  3d99999a3d99999a  d7  000000003f000000

09-30 14:29:48.062: INFO/DEBUG(195):  d8  0000000000000000  d9  0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d10 0000000000000000  d11 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d12 0000000000000000  d13 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d14 0000000000000000  d15 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d16 46dcc02040527888  d17 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d18 0000000000000000  d19 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d20 0000000000000000  d21 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d22 0000000000000000  d23 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d24 0000000000000000  d25 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d26 ffffffffffffffff  d27 0000000000000000

09-30 14:29:48.062: INFO/DEBUG(195):  d28 0000000000000000  d29 0000000000000000

09-30 14:29:48.074: INFO/DEBUG(195):  d30 ffffffffffffffff  d31 ffffffffffffffff

09-30 14:29:48.074: INFO/DEBUG(195):  scr 88000012

09-30 14:29:48.125: INFO/DEBUG(195):          #00  pc 00015d04  /system/lib/libc.so

09-30 14:29:48.125: INFO/DEBUG(195):          #01  pc 00013674  /system/lib/libc.so

09-30 14:29:48.125: INFO/DEBUG(195):          #02  pc 0001453a  /system/lib/libc.so

09-30 14:29:48.125: INFO/DEBUG(195):          #03  pc 003a9a58  /data/data/net.jbong.FFmpegBasic/lib/libbasicplayer.so

09-30 14:29:48.125: INFO/DEBUG(195):          #04  pc 000304f0  /data/data/net.jbong.FFmpegBasic/lib/libbasicplayer.so

09-30 14:29:48.125: INFO/DEBUG(195):          #05  pc 00017e74  /system/lib/libdvm.so

09-30 14:29:48.125: INFO/DEBUG(195):          #06  pc 00049686  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #07  pc 0004eea2  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #08  pc 0001d074  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #09  pc 00022124  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #10  pc 0002101c  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #11  pc 0005fe1e  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #12  pc 00067bea  /system/lib/libdvm.so

09-30 14:29:48.128: INFO/DEBUG(195):          #13  pc 0001d074  /system/lib/libdvm.so

09-30 14:29:48.132: INFO/DEBUG(195):          #14  pc 00022124  /system/lib/libdvm.so

09-30 14:29:48.132: INFO/DEBUG(195):          #15  pc 0002101c  /system/lib/libdvm.so

09-30 14:29:48.132: INFO/DEBUG(195):          #16  pc 0005fc80  /system/lib/libdvm.so

09-30 14:29:48.132: INFO/DEBUG(195):          #17  pc 0004c166  /system/lib/libdvm.so

09-30 14:29:48.132: INFO/DEBUG(195):          #18  pc 00038cae  /system/lib/libandroid_runtime.so

09-30 14:29:48.132: INFO/DEBUG(195):          #19  pc 0003a69a  /system/lib/libandroid_runtime.so

09-30 14:29:48.132: INFO/DEBUG(195):          #20  pc 00008cca  /system/bin/app_process

09-30 14:29:48.136: INFO/DEBUG(195):          #21  pc 00014bb2  /system/lib/libc.so

09-30 14:29:48.136: INFO/DEBUG(195): code around pc:

09-30 14:29:48.136: INFO/DEBUG(195): afd15ce4 2c006824 e028d1fb b13368db c064f8df 

09-30 14:29:48.136: INFO/DEBUG(195): afd15cf4 44fc2401 4000f8cc 49124798 25002027 

09-30 14:29:48.136: INFO/DEBUG(195): afd15d04 f7f57008 2106ec64 edd8f7f6 460aa901 

09-30 14:29:48.136: INFO/DEBUG(195): afd15d14 f04f2006 95015380 95029303 e93ef7f6 

09-30 14:29:48.136: INFO/DEBUG(195): afd15d24 462aa905 f7f62002 f7f5e94a 2106ec50 

09-30 14:29:48.136: INFO/DEBUG(195): code around lr:

09-30 14:29:48.136: INFO/DEBUG(195): afd19218 4a0e4b0d e92d447b 589c41f0 26004680 

09-30 14:29:48.136: INFO/DEBUG(195): afd19228 686768a5 f9b5e006 b113300c 47c04628 

09-30 14:29:48.136: INFO/DEBUG(195): afd19238 35544306 37fff117 6824d5f5 d1ef2c00 

09-30 14:29:48.136: INFO/DEBUG(195): afd19248 e8bd4630 bf0081f0 00028304 ffffff88 

09-30 14:29:48.136: INFO/DEBUG(195): afd19258 b086b570 f602fb01 9004460c a804a901 

09-30 14:29:48.136: INFO/DEBUG(195): stack:

09-30 14:29:48.136: INFO/DEBUG(195):     bed1b318  afd42684  

09-30 14:29:48.136: INFO/DEBUG(195):     bed1b31c  0009fdf8  

09-30 14:29:48.136: INFO/DEBUG(195):     bed1b320  00000015  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b324  afd18301  /system/lib/libc.so

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b328  afd4272c  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b32c  afd426d8  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b330  00000000  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b334  afd19239  /system/lib/libc.so

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b338  00000001  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b33c  bed1b36c  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b340  46e98e30  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b344  0000a000  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b348  bed1b3b8  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b34c  afd1855b  /system/lib/libc.so

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b350  df002777  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b354  e3a070ad  

09-30 14:29:48.140: INFO/DEBUG(195): #00 bed1b358  0000005f  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b35c  0000002e  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b360  002c9e80  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b364  824ee99c  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b368  46e98e30  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b36c  fffffbdf  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b370  bed1b3b8  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b374  afd46470  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b378  824ee99c  

09-30 14:29:48.140: INFO/DEBUG(195):     bed1b37c  afd13679  /system/lib/libc.so

09-30 14:29:48.140: INFO/DEBUG(195): #01 bed1b380  002c9e80  

09-30 14:29:48.144: INFO/DEBUG(195):     bed1b384  824ee99c  

09-30 14:29:48.144: INFO/DEBUG(195):     bed1b388  bed1b488  

09-30 14:29:48.144: INFO/DEBUG(195):     bed1b38c  44295ddc  

09-30 14:29:48.144: INFO/DEBUG(195):     bed1b390  bed1b3b8  

09-30 14:29:48.144: INFO/DEBUG(195):     bed1b394  afd1453d  /system/lib/libc.so



저와 동일한 문제를 겪으신 분들 안계신가요-?