마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

jni -> android 영상 데이터를 넘겨올려고 하는데요

0 추천
jni를 이용하여 이미지영상데이터를 안드로이드로 넘겨줄려고 하는데요

버퍼넘길때 문제가 생겨서 질문드립니다.

 

jni함수를 보면

JNIEXPORT void JNICALL Java_com_cam_test(...jshortArray **buf)

라고 있는데요

영상데이가 unsigned shrot 타입의 버퍼 인데요

함수 에서

JNIEXPORT void JNICALL Java_com_cam_test(...jshortArray **buf){

unsigned char *buffer = (unsigned char*)malloc(sizeof(len));...

memcpy(buf[0],buffer,sizeof(buffer);

}

 

android 부분에서는

short buf[][] = new short[3][640*480]

ndk.test(..buf);

이렇게 해서 넘겨주었는데

jni에서 mempcy하는 부분에서 죽어 버리더라구요

 

이것을 c에서 돌려서 영상출력까지 해서 잘되었던 부분인데 데이터 전달하는 부분에서 에러가 나는데 무엇이 문제일까요?
oblab (1,490 포인트) 님이 2015년 3월 19일 질문

1개의 답변

0 추천
당연히 memcpy를 사용하면 안됩니다.

jni api를 좀 더 공부하세요.

http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html
익명사용자 님이 2015년 3월 19일 답변
memcpy를 하면안되는건가요? 검색해서 보면 memcpy를 쓰는것 같던데..
...