Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Black screen for DrishtiFaceFilter on Android #750

Open
Evizero opened this issue Mar 29, 2019 · 1 comment
Open

Black screen for DrishtiFaceFilter on Android #750

Evizero opened this issue Mar 29, 2019 · 1 comment

Comments

@Evizero
Copy link

Evizero commented Mar 29, 2019

I can build the project and push the debug app to the phone successfully (after doing what is outlined in #748 ), yet when I open the DrishtiFaceFilter app on my android phone I only see a black screen.

Any ideas what I can do to debug/fix this?

@headupinclouds
Copy link
Collaborator

I'm not sure what is happening, but the black screen output is one of the more common OpenGL errors. What device and Android version are you using?

Have you looked for facefilter errors in logcat?

Can you provide details for the following?

  • device
  • android release
  • android studio version
  • ndk version
  • cmake version

Can you confirm that frame callbacks are being received in the native C++ layer?

I would probably try to cut out the face tracking and display and just test a simple rgb->grayscale shader. You can get this behavior in the demo app by disabling the tracker allocation here:

m_tracker = facefilter::make_unique<drishti::sdk::FaceTracker>(&context, m_factory->factory);
if (!m_tracker)
{
m_Application.getLogger()->error("Failed to create face tracker");
throw std::runtime_error("Failed to insantiate tracker");
}
m_tracker->add(m_callbacks->table);

It will skip the tracking on each frame here:

if(m_tracker)
{
// Manually prepare display if drishti will be used
gray.setGrayscaleConvType(ogles_gpgpu::GRAYSCALE_INPUT_CONVERSION_NONE);
disp.setOutputRenderOrientation(ogles_gpgpu::RenderOrientationFlippedMirrored);
disp.prepare(frameSizeUp.width, frameSizeUp.height, 0, false);
}
else
{
gray.add(&disp);
}

There are a set of unit tests that are managed with the gauze framework. It will install and launch the tests on your device if it is tethered and visible via adb devices. I'm curious if those are passing on your device. It could help to isolate configuration issues in the C++ layer vs application layer problems in the Android app. You can run these by adding -DRISHTI_BUILD_TESTS=ON DRISHTI_HAS_GPU=ON to the cmake build command (--fwd ... in case of polly.py commands).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants