fix(android-call): no hole-punch without native video (white meeting bg)
On an Android native call the WebView turned on hole-punch (transparent meeting grid, so native video can show BEHIND the WebView) whenever the plugin exposed setHolePunch — but on the 2a audio-only build there is no native video behind it, so the transparent grid revealed the white Android window (reported: white meeting background; tiles stayed visible as they're opaque web elements). iOS never showed this because CallKit covers the view. Gate hole-punch on native video actually existing: new ANDROID_NATIVE_VIDEO server flag (mirrors ANDROID_NATIVE_MEDIA, default off) exposed via /api/meetings/config. Web: bzNativeVideoOn() — iOS always, Android only when the flag is on (Increment 2b APK). While off, hole-punch stays off and the grid keeps its dark background; the native-tile poll doesn't run. iOS unchanged. Flip the flag on once the 2b native-video APK is installed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
ea4d65274e
commit
ae607f44b5
3 files changed
+20
-4
No files matched your search
@@ -63,6 +63,14 @@ const ANDROID_CALLS = process.env.ANDROID_CALLS === '1';
|
||||
// the LiveKit-Android plugin. Set ANDROID_NATIVE_MEDIA=1.
|
||||
const ANDROID_NATIVE_MEDIA = process.env.ANDROID_NATIVE_MEDIA === '1';
|
||||
|
||||
// Native call VIDEO on Android (Increment 2b): the plugin captures/publishes the camera and renders remote video
|
||||
// tiles natively via hole-punch (a transparent WebView over native VideoViews), mirroring iOS. INDEPENDENT of
|
||||
// ANDROID_NATIVE_MEDIA (audio) so video can be enabled only once a 2b-capable APK is installed. OFF (default) →
|
||||
// Android native calls are AUDIO-ONLY and the WebView keeps its normal (opaque, dark) meeting grid — hole-punch
|
||||
// stays off, so no transparent grid reveals the page behind it. ON → native video + hole-punch. Requires an app
|
||||
// build carrying the 2b native-video plugin. Set ANDROID_NATIVE_VIDEO=1.
|
||||
const ANDROID_NATIVE_VIDEO = process.env.ANDROID_NATIVE_VIDEO === '1';
|
||||
|
||||
module.exports = {
|
||||
PORT: process.env.PORT || 8090,
|
||||
HTTPS_PORT: process.env.HTTPS_PORT || 8443,
|
||||
@@ -82,6 +90,7 @@ module.exports = {
|
||||
CALLKIT_ENABLED,
|
||||
ANDROID_CALLS,
|
||||
ANDROID_NATIVE_MEDIA,
|
||||
ANDROID_NATIVE_VIDEO,
|
||||
PUBLIC_DIR,
|
||||
REC_DIR,
|
||||
TRANS_DIR,
|
||||
|
||||
Reference in new issue
Block a user