Skip to content

External Camera Android sample fails to initialize on Quest due to OceanUSBManager singleton violation #77

Description

@ReallyRad

What happened?

The External Camera Android sample fails to render the live camera feed on Meta Quest devices. The application launches and OpenGL initializes correctly, and camera permissions are granted, but the preview remains a black screen.

The expected behavior is that the USB external camera stream initializes successfully and displays live video in the OpenGL view. Instead, the camera pipeline fails to initialize due to OceanUSBManager rejecting a second instance creation, which prevents the USB media pipeline from starting.

Steps to reproduce

Build and install com.meta.ocean.app.demo.media.externalcamera.android on a Meta Quest device
Launch the application
Grant USB/camera permissions when prompted
Observe that the app initializes but no camera image is rendered

Logs or error output

E Ocean : OceanUSBManager: Only one instance of OceanUSBManager can be created
E Ocean : Failed to initialized OceanUSBManager
W Ocean : USBLiveVideo: Waiting for permission for device 'LiveVideoId:0' (/dev/bus/usb/001/006)

E ActivityThread: Activity ... has leaked IntentReceiver com.meta.ocean.system.usb.android.OceanUSBManager$1

Environment

OS/Platform: Meta Quest 3 (Android 14, SDK 34)
Ocean version or commit: ea6e1e6ec490b4297a123d63e0196754cdc1eb28

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions