JNI 返回 jbyteArray
        【摘要】  //JNI 返回 jbyteArray 
JNIEXPORT jbyteArray JNICALL  Java_com_powervision_videolib_jni_JniNatives_native_1getFrame2  (JNIEnv *env, jclass thiz, jint obj) {   LOGI("Enter native...
    
    
    
    //JNI 返回 jbyteArray
  
   - 
    
     
    
    
     
      JNIEXPORT jbyteArray JNICALL  Java_com_powervision_videolib_jni_JniNatives_native_1getFrame2
     
    
 
   - 
    
     
    
    
     
        (JNIEnv *env, jclass thiz, jint obj) {
     
    
 
   - 
    
     
    
    
     
         LOGI("Enter native_getFrame2");
     
    
 
   - 
    
     
    
    
     
      LOGI("1");
     
    
 
   - 
    
     
    
    
     
         size_t size = 0;
     
    
 
   - 
    
     
    
    
     
         Transfer *transfer = (Transfer *)obj;
     
    
 
   - 
    
     
    
    
     
         if(!transfer) {
     
    
 
   - 
    
     
    
    
     
            return NULL;
     
    
 
   - 
    
     
    
    
     
         }
     
    
 
   - 
    
     
    
    
     
         nalu_package *nal_pkg = transfer->getFrame();
     
    
 
   - 
    
     
    
    
     
         if(!nal_pkg) {
     
    
 
   - 
    
     
    
    
     
            return NULL;
     
    
 
   - 
    
     
    
    
     
         }
     
    
 
   - 
    
     
    
    
     
         LOGI("nalu_pkg: %p", nal_pkg);
     
    
 
   - 
    
     
    
    
     
         size = nal_pkg->size;
     
    
 
   - 
    
     
    
    
     
         uint8_t *buf = (uint8_t *)nal_pkg->nalu;
     
    
 
   - 
    
     
    
    
     
         if(size>0) {
     
    
 
   - 
    
     
    
    
     
            LOGI("Get frame 2: %d", size);
     
    
 
   - 
    
     
    
    
     
            jbyteArray array = env->NewByteArray(2);//size);
     
    
 
   - 
    
     
    
    
     
            LOGI("Sizeof buf: %d", sizeof(buf));
     
    
 
   - 
    
     
    
    
     
            env->SetByteArrayRegion(array, 0,  size, (jbyte *)buf);
     
    
 
   - 
    
     
    
    
     
            //if(nal_pkg->nalu)
     
    
 
   - 
    
     
    
    
     
            // free(nal_pkg->nalu);
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
      LOGI("7");
     
    
 
   - 
    
     
    
    
     
            //return array;
     
    
 
   - 
    
     
    
    
     
            return NULL;
     
    
 
   - 
    
     
    
    
     
         } else {
     
    
 
   - 
    
     
    
    
     
            LOGI("Get no frame");
     
    
 
   - 
    
     
    
    
     
            return NULL;
     
    
 
   - 
    
     
    
    
     
         }
     
    
 
   - 
    
     
    
    
     
        }
     
    
 
  
 
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/61419602
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)