[Unity] OVROverlay External Surface: ExoPlayer disconnect from the surface internally.
So I am working with OVROverlay and I have been able to attach ExoPlayer video feed on to OVROverlay surface. now here is the problem when trying to toggle OVROverlay's shape in realtime: overlay.enabled = false; overlay.currentOverlayShape = (overlay.currentOverlayShape == OVROverlay.OverlayShape.Quad) ? OVROverlay.OverlayShape.Cylinder : OVROverlay.OverlayShape.Quad; overlay.enabled = true; Without toggling overlay enabled state, the UI doesn't update at all. This isn't a problem with Unity's VideoPlayer with RenderTexture. RenderTexture can even apply custom shader on per frame in real time while toggling shape. But with ExoPlayer, I get such error: 2026-05-13 17:08:36.139 27844 28234 Error Surface queueBuffer: error queuing buffer, -19 2026-05-13 17:08:36.139 27844 28234 Error ACodec queueBuffer failed in onOutputBufferDrained: -19 2026-05-13 17:08:36.139 27844 28234 Error ACodec signalError(omxError 0x80001001, internalError -19) 2026-05-13 17:08:36.139 27844 28233 Error MediaCodec Codec reported err 0xffffffed/NO_INIT, actionCode 0, while in state 6/STARTED 2026-05-13 17:08:36.139 27844 28233 Debug MediaCodec flushMediametrics 2026-05-13 17:08:36.139 27844 28233 Debug MediaCodec updateMediametrics(0xb40000758bcd2000) ttff: 502ms, ttff_os: 31680455ms, init: 163ms ,configure: 7ms, start: 46ms, decode: 31680239ms, rendering: 227ms 2026-05-13 17:08:36.140 27844 28233 Debug SurfaceUtils disconnecting from surface 0xb40000758bcef010, reason disconnectFromSurface 2026-05-13 17:08:36.140 27844 28233 Error Surface freeAllBuffers: 8 buffers were freed while being dequeued! 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal Playback error 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, video/mp4, video/avc, avc1.640020, 2246746, und, [1920, 540, 23.976025, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.BaseRenderer.createRendererException(BaseRenderer.java:558) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:982) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1431) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:392) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1388) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:711) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at android.os.Handler.dispatchMessage(Handler.java:102) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at android.os.Looper.loopOnce(Looper.java:218) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at android.os.Looper.loop(Looper.java:310) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at android.os.HandlerThread.run(HandlerThread.java:67) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal Caused by: androidx.media3.exoplayer.video.MediaCodecVideoDecoderException: Decoder failed: OMX.qcom.video.decoder.avc 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:2665) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:976) 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal ... 8 more 2026-05-13 17:08:36.157 27844 28226 Error ExoPlayerImplInternal Caused by: android.media.MediaCodec$CodecException: Error 0xffffffed 2026-05-13 17:08:36.157 27844 28226 Info Surface Surface::setFrameRate is deprecated, setFrameRate hint is dropped as destination is not SurfaceFlinger 2026-05-13 17:08:36.157 27844 28233 Error MediaCodec flush() is valid only at Executing states; currently at Released state 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal Disable failed. 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal java.lang.IllegalStateException: flush() is valid only at Executing states; currently at Released state 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at android.media.MediaCodec.native_flush(Native Method) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at android.media.MediaCodec.flush(MediaCodec.java:2504) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.flush(AsynchronousMediaCodecAdapter.java:278) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:1077) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:1020) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:833) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:1196) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:253) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.RendererHolder.disableRenderer(RendererHolder.java:674) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.RendererHolder.disable(RendererHolder.java:568) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:2253) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderers(ExoPlayerImplInternal.java:2246) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1979) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1933) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:890) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at android.os.Handler.dispatchMessage(Handler.java:102) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at android.os.Looper.loopOnce(Looper.java:218) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at android.os.Looper.loop(Looper.java:310) 2026-05-13 17:08:36.160 27844 28226 Error ExoPlayerImplInternal at android.os.HandlerThread.run(HandlerThread.java:67) 2026-05-13 17:08:36.167 27844 28222 Info System.out Player error: MediaCodecVideoRenderer error, index=0, format=Format(1, null, video/mp4, video/avc, avc1.640020, 2246746, und, [1920, 540, 23.976025, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES | errorCode: 4003 2026-05-13 17:08:36.177 27844 28234 Error Surface getSlotFromBufferLocked: unknown buffer: 0xb40000758ba7da20 I have discussed this with different LLMs, and one recommend to set video surface to null in Android side (which didn't work at all) Another recommendation was to release Exoplayer completely before disabling OVROverlay and then playing again after enabling OVROverlay (This is even worse user experience so I didn't bother to test it out). So is there a way to handle this case? Also while I am at it, let me know if I can add a shader like I do with VideoPlayer: Graphics.Blit(sourceRT, processedRT, mat); Thank you.Solved26Views0likes1Commenttechnical issues
hello i am a game creator and i need help i have the when i try to load into my game it just doesnt let me get in its stuck at the loading part i didint add any loading screens just straight into the game and it just doesnt get in please help this is just killing my motivation i had this in all of my projects23Views0likes1CommentCrash reports
Hi guys, I have a crash report that affects just one user and always occurs in exactly the same place. Other players with the same build, same HMD are playing fine. As far as I have been able to work out the issue is related to UI Widgets but even this i am not certain of. Does anybody have any idea what's going on here and how to debug and fix it? This is the report summary and then the stack trace... oculus:native_crash:SIGSEGV:libUE4.so::FSlateRHIRenderingPolicy::BuildRenderingBuffers(sanitized)::$_21::operator()(sanitized) const Thread 10669\ #00 pc 000000000008c438 /apex/com.android.runtime/lib64/bionic/libc.so (memcpy_aarch64_simd+248) (BreakpadBuildId: 5cc6b9f35ce196db1de51b94b123688b0)\ #01 pc 0000000008abc378 libUE4.so (FSlateRHIRenderingPolicy::BuildRenderingBuffers(FRHICommandListImmediate&, FSlateBatchData&)::$_21::operator()(FRHICommandListImmediate&) const + 0x98) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #02 pc 0000000007829a94 libUE4.so (FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&)+168) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #03 pc 000000000784bba8 libUE4.so (FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&)+164) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #04 pc 000000000784b980 libUE4.so (TGraphTask<FExecuteRHIThreadTask>::ExecuteTask(TArray<FBaseGraphTask, TSizedDefaultAllocator<32> >&, ENamedThreads::Type)+52) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #05 pc 0000000006e3ca18 libUE4.so (FNamedTaskThread::ProcessTasksNamedThread(int, bool)+244) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #06 pc 0000000006e3c598 libUE4.so (FNamedTaskThread::ProcessTasksUntilQuit(int)+108) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #07 pc 0000000007889144 libUE4.so (FRHIThread::Run()+72) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #08 pc 0000000006eb1a6c libUE4.so (FRunnableThreadPThread::Run()+96) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #09 pc 0000000006e3b0f0 libUE4.so (FRunnableThreadPThread::_ThreadProc(void)+68) (BreakpadBuildId: 3e5160afb0844a0e3b5777981db217330)\ #10 pc 00000000000fd0ec /apex/com.android.runtime/lib64/bionic/libc.so (pthread_start(void*) [bionic/libc/bionic/pthread_create.cpp:382 + 0x4]) (BreakpadBuildId: 5cc6b9f35ce196db1de51b94b123688b0)\ #11 pc 0000000000094fb0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread [bionic/libc/bionic/clone.cpp:53 + 0x4]) (BreakpadBuildId: 5cc6b9f35ce196db1de51b94b123688b0) 2026 Meta32Views0likes1CommentBroken Quest 3S Cameras
My Meta Quest 3S (SN: 340YC10G8N0PVR) has suffered a total hardware failure. The device is stuck on a permanent Black Screen, and the controllers have entered an Infinite Rumble loop that does not stop. I have already performed the 'Last Resort' Factory Reset, but the hardware remains unresponsive. The Tracking Service has failed entirely, and even the Gaze Dot has disappeared from the display. I have also attempted to boot from both Slot A and Slot B, but the 'Blind Setup' wall persists due to the physical failure of the tracking cameras. Since a full system wipe (Factory Reset) did not resolve the issue, this is clearly a hardware-level defect. I am requesting an immediate warranty replacement to Meta so I can restore my data and return to the Metaverse.38Views0likes1CommentVoice SDK microphone only starts correctly first time
I'm using the AppDictationExperience component from the Voice SDK in Unity and am trying to play a build on the Quest 2. When I call Activate on the AppDictationExperience component the microphone only starts correctly if the app doesn't have microphone permission when the app starts and asks for permission. If the app already has microphone permission I get an OnMicStartedListening event but the microphone isn't actually recording, if I check Microphone.IsRecording it returns false.56Views0likes1Comment[Audit] OS 2.1 Nav Bar: AOSP Java Implementation & The Sideloading Paradox
As a Web/Multimedia Developer (B.A. Comm), I am formally auditing the persistent UI limitations in OS 2.1. Meta continues to treat the Global Navigation Bar and System Menus as a static kiosk interface. The AOSP / Java Reality The Navigator is a View group within a Java-based AOSP (Android Open Source Project) framework. There is zero architectural excuse for failing to implement transparency (alpha) and color customization. If the community can port Quake to HTML5, Meta's engineering team can certainly implement a basic slider for the UI layer. The Sideloading Paradox The claim that UI customization is "too complex" for users is logically inconsistent. A significant portion of this community is already using ADB (Android Debug Bridge) and Sideloading to bypass these restrictions. If a user has the technical literacy to sideload an APK, they are more than capable of using a native hex-code color picker or a transparency toggle. Figure-Ground and Accessibility By hard-coding Elevation and Ambient/Key shadows without user-definable variables, Meta has created a permanent Figure-Ground failure. A professional-grade OS requires user-defined transparency to ensure visual accessibility. Conclusion: We are developers and owners, not tenants. Meta needs to stop gatekeeping basic UI variables. Implement the alpha sliders for the Navigation Bar and Menu.81Views0likes4CommentsERROR_CLOUD_MESH_UPLOAD_FAILED(-400039)
Unity colocation build with MRUK, getting this error in Logcat and "host can't share the room with group xx-xx.." on immersive debugger... User ID and User profile active in dashboard, device has spatial permission enabled, project uploaded to alpha channel, my own user invited as tester, Keystore signed, tried with 4 different WIFI, no LLM has a clue... was working before upload alpha, What else should I check?215Views2likes5CommentsBug: Ray-Ban Meta doesn't record voice note with WhatsApp open | Calls work fine
Major bug in the Ray-Ban Meta + WhatsApp integration in Brazil. What works: WhatsApp voice/video calls using the glasses - 100% ok "Hey Meta, send a voice message to on WhatsApp" with the app closed - 100% ok[contact] What DOESN'T work: With the WhatsApp app open in the foreground, when I hold the button to record audio, the glasses beep, it shows as if it's recording, but the audio comes out muted. Zero sound in the message. How to reproduce: Pair Ray-Ban Meta with Android phone Open a WhatsApp chat Hold the audio record button Result: beep plays, records silence, it's not working as it was supposed to. Impact: Makes it impossible to use the glasses as true "hands-free". If I need to send a voice note, I have to close WhatsApp and use a voice command, or grab my phone. Meanwhile calls work perfectly in the same scenario. Device: Ray-Ban Meta 2nd gen | Android [your version] | WhatsApp v | Meta AI app v | Glasses firmware v[version] Since both products are from Meta, this basic integration should work. Please prioritize the fix.19Views0likes0CommentsIssues with Gaussian Splatting integration in Meta Spatial SDK (v0.9.2) – Standalone Quest 3
Hi everyone, I am an architect and urban planner, developing VR/MR projects in my spare time. I’m currently working on a native Quest 3 application to view Gaussian Splats for highly detailed virtual project tours. My Goal: Render native Gaussian Splatting (3DGS) on Quest 3 (Standalone). Synchronize the splat position with the real world for a seamless transition from Mixed Reality (MR) to Virtual Reality (VR) with a skybox. Targeting a minimum of 150k splats with stable performance. Previous Attempts: I initially used Unity with the Aras/Ninja implementations. While it works perfectly via Oculus Link (PCVR), it’s not viable for my needs because: PC Builds don't support the specific MR features I need for this project. The Android build (standalone) performance is extremely poor, even with optimized settings and a small 50k splat PLY file (unusable frame rates). Current Issue with Meta Spatial SDK: I’ve switched to the Meta Spatial SDK (Packages v0.9.2) to leverage the new native splat support mentioned here: Spatial SDK Splats Documentation. Despite following the documentation step-by-step: The splats do not appear in the scene. I am getting several reference errors (MissingReference/NullReference) that I can't seem to resolve. My Question: Has anyone successfully created a native Quest 3 APK using the Spatial SDK to run Gaussian Splats (~150k splats)? If so, could you share the correct workflow or point out common pitfalls with this specific SDK version? Any help or documentation beyond the official guide would be greatly appreciated!701Views2likes13Comments