Issue Description
During active interactive video sessions hosted on Android smartwatch endpoints, the local camera capture pipeline terminates immediately when the wearable device display enters an automated screen-off power saving mode. This execution failure forces the downstream media server to flag the stream as inactive, presenting a permanently frozen video frame to all remote channel participants.
Platform and SDK Context
Host Operating System: Android Wearable Platform Layer
Software Core Framework: Agora Real Time Communication Native SDK version 4.5.2.2
-
Observed Regression Boundary: The legacy software baseline version 4.1.1.7 did not exhibit this capture suspension behavior under identical screen power state transitions.
Root Cause Analysis
The video stream freezing originates from a structural mismatch between the device kernel camera driver policies and the refactored texture processing architecture introduced within SDK version 4.5.2.2.
When a constrained Android smartwatch switches its screen status to off, the underlying power management subsystem forcefully pauses local camera texture copying operations to conserve battery modules. Concurrently, the newer media capture mechanism inside version 4.5.2.2 switches to a rigid texture buffer lifecycle management routing model.
Absent an active hardware rendering surface during screen off periods, the new pipeline encounters an ingestion bottleneck, causing immediate texture allocation exhaustion. Because the frame queue stalls without throwing explicit system level exception indicators, the video streaming pipeline deadlocks silently until the screen is manually reactivated.
Solution and Resolution Steps
-
Purge Redundant Texture Copy Routines
Audit the client application source code layer to locate any custom graphic or beauty pipeline integrations. Remove all non-essential texture copy operations inside the camera callback loops to reduce processing resource overhead on the hardware registers.
-
Inject Private Capture Buffer Controls
Directly inject specialized low level parameter keys into the engine initialization matrix after instantiating the core runtime container. Force expand the available texture capture queues and disable raw byte frame conversion routines by applying the designated parameter rules:
setParameters("{\"che.video.capture_texture_buffer_count\": 4}"); setParameters("{\"rtc.video.decoder_out_byte_frame\": false}"); -
Validate Persistent Screen Off Stream Continuity
Recompile the wearable application package and deploy the validated compilation binary onto the target Android smartwatch hardware. Initiate a live test session, trigger a manual screen-off milestone, and monitor the downstream remote participant viewport to confirm that the real-time video stream continues to render smoothly without frame dropping symptoms.