Giter VIP home page Giter VIP logo

tango-examples-c's Introduction

Project Tango C API Example Projects

Copyright 2014 Google Inc.

Project Status

The Tango service is deprecated. Google continues AR development with ARCore, a platform designed for building augmented reality apps for a broad range of devices.

Useful Websites

SDK Download - https://developers.google.com/project-tango/downloads

Developer Website - https://developers.google.com/project-tango/apis/c

Contents

This contains the Project Tango C API examples.

These examples use the Gradle build system and were developed using Android Studio 2.1.

Basic Examples

The cpp_basic_examples project includes basic examples showing how to compile and run an application using C/C++:

  • hello_area_description - Use the Area Description API to create and manage Area Description Files.
  • hello_depth_perception - Use the depth sensor.
  • hello_motion_tracking - Use the Motion Tracking API to track the position of the Tango device in 3D space.
  • hello_video - Render the RGB camera image using OpenGL.

Use Case Examples

Other examples in this repository show how to build an application for different use cases of Tango technology:

  • cpp_augmented_reality_example - Achieve an augmented reality effect by rendering 3D objects overlaid on the camera image such that they appear to stay affixed in space.
  • cpp_marker_detection_example - Build an augmented reality appliction to detect Alvar markers in real world, and to render 3D objects over the markers.
  • cpp_mesh_builder_example - Use the depth sensor to build a mesh of the surrounding space.
  • cpp_motion_tracking_example - Use Tango motion tracking to navigate in a virtual 3D world.
  • cpp_plane_fitting_example - Build an AR application to detect planes in the real world to place objects in them.
  • cpp_point_cloud_example - Acquire and render a cloud of 3D points using the depth sensor.
  • cpp_point_to_point_example - Build a simple point-to-point measurement application using augmented reality and the depth sensor.
  • cpp_rgb_depth_sync_example - Synchronize the depth sensor 3D information with the color camera information.
  • cpp_video_stabilization_experiment - Stabilize the video by smoothing the pose and correcting for gravity.

The cpp_example_util project contains some common utility code that is used for many samples.

Support

As a first step, view our FAQ page. You can find solutions to most issues there.

If you have general API questions related to Tango, we encourage you to post your question to our stack overflow page.

To learn more about general concepts and other information about the project, visit Project Tango Developer website.

Contribution

Want to contribute? Great! First, read this page (including the small print at the end).

Before you contribute

Before we can use your code, you must sign the Google Individual Contributor License Agreement (CLA), which you can do online. The CLA is necessary mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also need to be sure of various other things—for instance, that you'll tell us if you know that your code infringes on other people's patents. You don't have to sign the CLA until after you've submitted your code for review and a member has approved it, but you must do it before we can put your code into our codebase. Before you start working on a larger contribution, you should get in touch with us first through the issue tracker with your idea so that we can help out and possibly guide you. Coordinating up front makes it much easier to avoid frustration later on.

Code reviews

All submissions, including submissions by project members, require review. We use Github pull requests for this purpose.

The small print

Contributions made by corporations are covered by a different agreement than the one above: the Software Grant and Corporate Contributor License Agreement.

tango-examples-c's People

Contributors

chaosemer avatar chengyang avatar dr4b avatar fredsa avatar hamidb avatar jguomoto avatar mrcsabatoth avatar podgorskiy avatar r4ravi2008 avatar steverichey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tango-examples-c's Issues

OpenGL ES 3.0

Why is the tango_gl running OpenGL ES 2.0?

The Dev Kit runs Android 4.4 and can run OpenGL ES 3.0

There is no Tango device therefore not able to use 3.0 and 2.0 is missing a LOT of needed features

Out of sequence images

Sorry for the issue and the edit.
While converting images the convert command was processing the images in the wrong order.
All clear and fixed.

Memory leak in TangoSDK

When I use Tango3DR_clear it removes data from it but it does not deallocate memory (it is problem for texturing and reconstruction context). Also Tango3DR_ReconstructionContext_destroy does not deallocate it completely.

I did following test with cpp_mesh_builder_example:
-change resolution: Tango3DR_Config_setDouble(t3dr_config, "resolution", 0.005);
-make it scan more far: Tango3DR_Config_setDouble(t3dr_config, "max_depth", 7.5);
-remove mesh extraction (it is too slow for test)
-do measurement when clear button is pressed:

        text += new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ": ";
        ActivityManager.MemoryInfo mem = new ActivityManager.MemoryInfo();
        ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

        //pause scanning and measure memory
        TangoJNINative.onToggleButtonClicked(false);
        activityManager.getMemoryInfo(mem);
        text += (mem.availMem / 1048576L) + "MB -> ";

        //clear context
        TangoJNINative.onClearButtonClicked();

        //measure memory and resume scanning
        activityManager.getMemoryInfo(mem);
        text += (mem.availMem / 1048576L) + "MB\n";
        TangoJNINative.onToggleButtonClicked(m3drRunning);

        //show result
        MeshBuilderActivity.this.runOnUiThread(new Runnable()
        {
          @Override
          public void run()
          {
            Toast.makeText(MeshBuilderActivity.this, text, Toast.LENGTH_LONG).show();
          }
        });

result:
tango_hopak_leak

Mutex compiliation error

HI,

I'm having trouble compiling some of the examples that use the Mutex library. At compile time, it throws me this error:

~/Android/ndk-examples/tango-examples-c/cpp_motion_tracking_example/app/src/main/jni/tango-motion-tracking/motion_tracking_app.h
Error:(96, 8) error: 'mutex' in namespace 'std' does not name a type

Referring to this line in motion_tracking_app.h:

std::mutex pose_mutex_;

Has anyone else ran into this problem? I'm still getting started with Tango and the NDK so I'm having trouble debugging this error.

hello-tango-jni-example - wrong ndk-build command on windows

Hi guys,
i just started to build the first example app using the c api for project tango.

everything went smooth except the ndk-build part.

ndkbuild task in fails on my windows machine.

I had to modify the build.gradle script, in the app folder, so that instead of using "ndk-build" command, it uses "ndk-build.cmd"

here's how i did it, modify app/build.gradle
//top of file.
import org.apache.tools.ant.taskdefs.condition.Os

//modified this function
task ndkBuild(type: Exec) {
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def ndkbuild = properties.getProperty('ndk.dir', null)+"/ndk-build"
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
ndkbuild = ndkbuild + ".cmd"
}
commandLine ndkbuild, '-C', file('src/main/jni').absolutePath
}

Hope this helps!

FYI :
Windows 7 64
Android Studio 1.3.2
Android NDK r10e

Golang

From my reading of the API it looks like OpenGL API.

I am planning to do a bring up of an application authoring system and runtime system for tango devices. Its based on golang using the Google supported code GL here:
https://godoc.org/golang.org/x/mobile/gl

So I want to also support tanga devices and so also need to wrap the c API with golang.

Would the team accept PR's for this assuming they met your guidelines ?

Problems about TangoService_getPoseAtTime

Hi,
I'd like to get the pose data under pull mode. However, it's wrong when I'm calling TangoService_getPoseAtTime.
The error message is:
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000020 (code=1), thread 4017 (omotiontracking)
E/InputDispatcher: channel '64f4daf0 com.projecttango.examples.cpp.hellomotiontracking/com.projecttango.examples.cpp.hellomotiontracking.HelloMotionTrackingActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

My application want to get the current pose data as soon as I click the button. So I think the pull mode is better. There is not much information on the web.
Any reply is helpful.

Typo in sourcecode

Hi, only a tiny issue:

I came across a little typo in the tango_gl library in class quad.cc line 60 which might lead to a compile error with some compilers (that's what happened to me):
I guess void Quat::SetTextureId(GLuint texture_id) { ...}
should be void Quad::SetTextureId(GLuint texture_id) { ... }?!
Just in case you want to change it..

Cheers! :)

Bad flags in cpp_mesh_builder_example

Hello,
Trying to use the cpp_mesh_builder_example app, I see that when the function TangoSupport_getMatrixTransformAtTime is used, the status code used is TANGO_SUCCESS.

It should be status_code == TANGO_POSE_VALID, as described in the doc : https://developers.google.com/tango/apis/c/support/reference/struct/tango-matrix-transform-data.

In file mesh_builder_app.cc:

  TangoMatrixTransformData matrix_transform;
  TangoSupport_getMatrixTransformAtTime(
      0, TANGO_COORDINATE_FRAME_START_OF_SERVICE, TANGO_COORDINATE_FRAME_DEVICE,
      TANGO_SUPPORT_ENGINE_OPENGL, TANGO_SUPPORT_ENGINE_OPENGL, ROTATION_0,
      &matrix_transform);
  if (matrix_transform.status_code == TANGO_SUCCESS) {
    start_service_T_device_ = glm::make_mat4(matrix_transform.matrix);
  } else {
    LOGE(
        "MeshBuilderApp: Could not find a valid matrix transform at "
        "current time for the device.");
  }

The data structure TangoMatrixTransformData is using a TangoPoseStatusType and not a TangoErrorType, as show in files (beside in doc) :
In file tango_support_api.h:

typedef struct TangoMatrixTransformData {
  /// Timestamp of the time that this pose estimate corresponds to.
  double timestamp;

  /// Matrix in column major order.
  float matrix[16];

  /// The status of the pose, according to the pose lifecycle.
  TangoPoseStatusType status_code;
} TangoMatrixTransformData;

In file tango_client_api.h:

typedef enum {
  TANGO_POSE_INITIALIZING = 0,  ///< Motion estimation is being initialized
  TANGO_POSE_VALID,             ///< The pose of this estimate is valid
  TANGO_POSE_INVALID,           ///< The pose of this estimate is not valid
  TANGO_POSE_UNKNOWN            ///< Could not estimate pose at this time
} TangoPoseStatusType;

Thank you !

please create a single all in one simple project

actually i would like to have is: a project that i can build in visual studio 2015 and run as exe to test cuda and with opencv on kinecket (raw rgb +depth) and also to compile it to android with tango.

i had not found steps how to create a c project from screach in android studio

i want to create 'a my project' not something that is linked to example util app

[Enhancement] Migration to gradle-experimental

Why using gradle-experimental?

  • enables easier (integrated within Android Studio) C++ debugging
  • from my experience, without gradle-experimental, Android Studio 2.0 does not have C++ support (code Structure/Outline, refactor, find usage, ...), whereas Android Studio 1.5 did.

Below is a app/build.gradle file with gradle-experimental support for cpp_hello_motion_tracking_example. I am not a "gradle expert", my proposition is probably not the best. If you are interested and if you validate, I can make a pull-request.
Note there are other files to modify in order to use gradle-experimental, as explained here.

apply plugin: 'com.android.model.application'

model {

    repositories {
        libs(PrebuiltLibraries) {
            tango_client {
                headers.srcDir "../../tango_client_api/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file("../../tango_client_api/lib/libtango_client_api.so")
                }
            }
        }
    }

    repositories {
        libs(PrebuiltLibraries) {
            tango_support {
                headers.srcDir "../../tango_support_api/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file("../../tango_support_api/lib/libtango_support_api.so")
                }
            }
        }
    }

    android {
        compileSdkVersion 19
        buildToolsVersion "21.1.2"

        defaultConfig.with {
            applicationId "com.google.tango.hellotangojni"
            minSdkVersion.apiLevel 19
            targetSdkVersion.apiLevel 19
        }

        ndk {
            moduleName  = "cpp_hello_motion_tracking_example"
            cppFlags.addAll(["-std=c++11", "-fno-rtti", "-fno-exceptions"])
            ldLibs.addAll(["log", "GLESv2"])
            stl         = "stlport_static"
        }

        sources {
            main {
                jniLibs {
                    dependencies {
                        library "tango_client"
                        library "tango_support"
                    }
                }
                jni {
                    dependencies {
                        library "tango_client"
                        library "tango_support"
                    }
                    source {
                        srcDir "src/main/jni"
                    }
                    exportedHeaders {
                        srcDir "src/main/jni"
                    }
                }
            }
        }


        buildTypes {
            release {
                minifyEnabled false
                proguardFiles.add(file('proguard-rules.txt'))
            }
        }

        productFlavors {
            create("arm7") {
                ndk.abiFilters.add("armeabi-v7a")
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

c++ examples?

Are there any c++ examples in this repo? The examples all link to java code

Android 7.0+ linking to private platform libraries

After we got our ASUS Zenfone AR we recognized, that warnings were generated caused by the changes to the access of private ndk libraries in future android releases.
screenshot_20170908-092316
Not only our own application is triggering this warning also every example project. Beside this annoying dialog, we want that our application runs also with future android releases.

The guide provided here:
https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk
was not very helpful.
"You should update your app to include its own copy of those libraries " - from my unexperienced perspective i don't know how to get a copy of those libraries. Additionally i should say that we use cmake as a build tool, but like said, the warning dialog appears also with the examples which are build with ndk-build tool.

Maybe anyone knows how to get this working, cause other tango applications from the store don't trigger this dialog.

Obj_loader

I am trying to use the Obj_loader, but the .obj file I have gets compressed (pretty sure) when the APK builds so calling a fopen() is not able to find the file in path.

Any ideas on a work around or is this something that need to get fixed as the Texture loading uses the AAsset manager.

LoadLibrary fails when including tango .SO

When adding the shared tango libs into an existing Android Studio project, load Library fails with this exception

JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.NoSuchFieldError: no "I" field "mNativePtr" in class "Landroid/os/Parcel;" or its superclasses'

backtrace:
05-23 17:45:10.254 546-546/? A/DEBUG:     #00 pc 00044320  /system/lib/libc.so (tgkill+12)
05-23 17:45:10.254 546-546/? A/DEBUG:     #01 pc 00041f21  /system/lib/libc.so (pthread_kill+32)
05-23 17:45:10.254 546-546/? A/DEBUG:     #02 pc 0001ba4f  /system/lib/libc.so (raise+10)
05-23 17:45:10.254 546-546/? A/DEBUG:     #03 pc 00018bf1  /system/lib/libc.so (__libc_android_abort+34)
05-23 17:45:10.254 546-546/? A/DEBUG:     #04 pc 000167b0  /system/lib/libc.so (abort+4)
05-23 17:45:10.255 546-546/? A/DEBUG:     #05 pc 003216c9  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+212)
05-23 17:45:10.255 546-546/? A/DEBUG:     #06 pc 000f3c6d  /system/lib/libart.so (_ZN3art10LogMessageD2Ev+2212)
05-23 17:45:10.255 546-546/? A/DEBUG:     #07 pc 0024f7fd  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1524)
05-23 17:45:10.255 546-546/? A/DEBUG:     #08 pc 0024fb9f  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+54)
05-23 17:45:10.255 546-546/? A/DEBUG:     #09 pc 000fc013  /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+30)
05-23 17:45:10.255 546-546/? A/DEBUG:     #10 pc 00100eef  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+5054)
05-23 17:45:10.255 546-546/? A/DEBUG:     #11 pc 001126a5  /system/lib/libart.so (_ZN3art8CheckJNI12NewGlobalRefEP7_JNIEnvP8_jobject+376)
05-23 17:45:10.255 546-546/? A/DEBUG:     #12 pc 003362f5  /system/lib/libart.so (_ZN3art6Thread22SetClassLoaderOverrideEP8_jobject+32)
05-23 17:45:10.255 546-546/? A/DEBUG:     #13 pc 00250101  /system/lib/libart.so (_ZN3art9JavaVMExt17LoadNativeLibraryEP7_JNIEnvRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEP8_jobjectPS9_+1228)
05-23 17:45:10.256 546-546/? A/DEBUG:     #14 pc 002c203f  /system/lib/libart.so (_ZN3artL18Runtime_nativeLoadEP7_JNIEnvP7_jclassP8_jstringP8_jobjectS5_+178)
05-23 17:45:10.256 546-546/? A/DEBUG:     #15 pc 0212fdc5  /system/framework/arm/boot.oat (offset 0x1f23000)

There is another person on stackoverflow with the same tango issue, but no posted answer.

connectOnFrameAvailable fails to connectSurface

I have spent a lot of time making sure my example is exactly as that of hello_video and I keep getting

TangoErrorType TangoService_connectOnFrameAvailable(TangoCameraId, void*, void (*)(void*, TangoCameraId, const TangoImageBuffer*)): Done connecting callbacks.
...
interface E/tango_client_api: TangoErrorType TangoService_connect(void*, TangoConfig): Internal error: Failed to connectSurface, cam id: 0.

While what it SHOULD be is

I/tango_client_api: TangoErrorType TangoService_connectOnFrameAvailable(TangoCameraId, void*, void (*)(void*, TangoCameraId, const TangoImageBuffer*)) called for cam id(0) before TangoService_connect(). Callback will be registered on next call to TangoService_connect().
...
I/tango_client_api: TangoErrorType TangoService_connect(void*, TangoConfig): Successfully connected to Tango.

Augmented Reality demo does not connect to Tango Service after onPause

If you press the button for "recent apps", thus causing onPause() to be called, and then go back to the app, thus causing onResume() to be called, the application does not successfully connect to the Tango Service again. It shows the AR graphics but no camera frames.

Here's the output of the logcat:

01-24 13:15:54.143: D/libEGL(7738): loaded /system/lib/egl/libEGL_tegra.so
01-24 13:15:54.143: I/(7738): Attempting to load EGL implementation libEGL_tegra_impl
01-24 13:15:54.146: I/(7738): Loaded EGL implementation libEGL_tegra_impl
01-24 13:15:54.147: D/libEGL(7738): loaded /system/lib/egl/libGLESv1_CM_tegra.so
01-24 13:15:54.148: D/libEGL(7738): loaded /system/lib/egl/libGLESv2_tegra.so
01-24 13:15:54.427: I/(7738): Loading GLESv2 implementation libGLESv2_tegra_impl
01-24 13:15:54.432: D/OpenGLRenderer(7738): Enabling debug mode 0
01-24 13:15:56.726: I/(7738): Loading GLESv1_CM implementation libGLESv1_CM_tegra_impl
01-24 13:15:56.738: I/tango_client_api(7738): Tango Service: com.projecttango.tango, versionCode: 3205 (client requires >= 2705)
01-24 13:15:56.738: I/tango_jni_example(7738): Tango service initialize success
01-24 13:15:56.759: I/tango_jni_example(7738): Load ADF: befdc691-fc0b-4374-ad7f-857809f93cd1
01-24 13:15:56.759: I/tango_jni_example(7738): Tango set config success
01-24 13:15:56.760: I/tango_jni_example(7738): TangoService_connectTextureId(): Success!
01-24 13:15:57.361: I/tango_jni_example(7738): Tango Service connect success
01-24 13:15:57.365: I/tango_jni_example(7738): after glDrawElements() glError (0x502)
01-24 13:15:57.369: I/art(7738): GcCauseBackground partial concurrent mark sweep GC freed 5845(293KB) AllocSpace objects, 1(36KB) LOS objects, 12% free, 2MB/2MB, paused 5.282ms total 16.626ms
01-24 13:15:59.867: E/BufferQueue(7738): [unnamed-7738-0] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.869: E/BufferQueue(7738): [unnamed-7738-0] queueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.870: E/BufferQueue(7738): [unnamed-7738-0] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.870: E/BufferQueue(7738): [unnamed-7738-0] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.876: E/BufferQueue(7738): [unnamed-7738-0] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.879: E/BufferQueue(7738): [unnamed-7738-0] queueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.912: E/BufferQueue(7738): [unnamed-7738-0] queueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.947: E/BufferQueue(7738): [unnamed-7738-0] queueBuffer: BufferQueue has been abandoned!
01-24 13:15:59.980: E/BufferQueue(7738): [unnamed-7738-0] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:00.018: E/BufferQueue(7738): [unnamed-7738-0] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:02.588: I/Choreographer(7738): Skipped 167 frames!  The application may be doing too much work on its main thread.
01-24 13:16:02.664: I/art(7738): Heap trim of managed (duration=615us, advised=336KB) and native (duration=1.727ms, advised=272KB) heaps. Managed heap utilization of 43%.
01-24 13:16:06.450: I/art(7738): Heap trim of managed (duration=946.166us, advised=768KB) and native (duration=2.091084ms, advised=288KB) heaps. Managed heap utilization of 24%.
01-24 13:16:06.920: I/tango_client_api(7738): Tango Service: com.projecttango.tango, versionCode: 3205 (client requires >= 2705)
01-24 13:16:06.920: I/tango_jni_example(7738): Tango service initialize success
01-24 13:16:06.949: I/tango_jni_example(7738): Load ADF: befdc691-fc0b-4374-ad7f-857809f93cd1
01-24 13:16:06.949: I/tango_jni_example(7738): Tango set config success
01-24 13:16:06.950: I/tango_jni_example(7738): TangoService_connectTextureId(): Success!
01-24 13:16:07.509: I/tango_jni_example(7738): Tango Service connect success
01-24 13:16:07.510: I/tango_jni_example(7738): after glDrawElements() glError (0x502)
01-24 13:16:07.596: I/tango_jni_example(7738): TangoService_connectTextureId(): Success!
01-24 13:16:07.691: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.695: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.696: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.716: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.719: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.752: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.757: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.798: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.805: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.854: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.860: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.872: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.873: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.903: E/BufferQueue(7738): [unnamed-7738-1] dequeueBuffer: BufferQueue has been abandoned!
01-24 13:16:07.910: E/BufferQueue(7738): [unnamed-7738-1] queueBuffer: BufferQueue has been abandoned!
01-24 13:16:17.610: E/tango_client_api(7738): TangoErrorType TangoService_connect(void*, TangoConfig): Internal Error: Connect failed internally: -1
01-24 13:16:17.610: E/tango_jni_example(7738): Tango Service connect failed

Runtime error: could not load libraries

Hi,
The code hello-tango-jni successfully & installed in tango. But whe i tried to open the app, I am seeing this error across logcat. Can you please give me the solution?

09-22 07:56:37.680: E/AndroidRuntime(32037): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "libtango_client_api.so" needed by "libtango-native-jni.so"; caused by load_library(linker.cpp:745): library "libtango_client_api.so" not found

cpp_plane_fitting runtime error

other example is ok. when i run cpp_plane_fitting it show
08-03 20:35:59.760 27677-27677/com.projecttango.examples.cpp.planefitting E/tango_client_api: void* TangoService_getConfig(TangoConfigType): (in TangoErrorType TangoService_initializeLOCKED(const char*)) Failed to find the service on the system.
08-03 20:35:59.761 27677-27677/com.projecttango.examples.cpp.planefitting E/tango_jni_example: Unable to get tango config

i wonder how to fix it ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.