Issue Description
Agora-related crashes were detected on multiple Android device models during video use. The affected devices are predominantly lower-end or older Android phones from manufacturers such as Samsung, Xiaomi, Motorola, LG, TECNO, Infinix, Vivo, and Huawei.
Platform and SDK Context
Platform: Android
SDK: Agora Video SDK
Error Message
Application crash logs or SDK callbacks report the following error: Error code 1285 (Note: This typically corresponds to an OpenGL out-of-memory error).
Root Cause Analysis
The SDK logs indicate that the camera capture path uses texture output. On certain lower-end or older Android devices, handling texture memory adds significant performance and memory overhead. Error code 1285 is directly related to insufficient video memory on the device's GPU. No other clear abnormal behavior or SDK malfunctioning was found in the logs, confirming that the crash is caused by hardware resource exhaustion.
Solution and Resolution Steps
Short-Term Configuration Changes
To immediately reduce memory overhead and mitigate crashes, apply the following configuration changes and monitor the online results:
Disable downlink Super Resolution.
Disable PVC (Perceptual Video Coding).
Change the camera capture output format to YUV instead of texture.
Configure downlink video to use hardware decoding with YUV output.
Long-Term Solution
For a sustainable architecture on affected devices:
Keep downlink Super Resolution and PVC disabled, as they are resource-intensive.
Update or adapt any related custom video plugins or beauty filters so they properly support texture input/output without causing memory leaks or extra performance costs.
Only allow camera capture to use texture output normally once plugin compatibility and memory safety have been fully verified.
Prevention and Best Practice
For lower-end or older Android devices, proactively avoid configurations that increase video memory usage or GPU overhead. Continue monitoring the application's crash rates after disabling downlink Super Resolution and PVC. Ensure strict plugin compatibility with texture input/output before re-enabling texture-based capture paths in production environments.