react-native-twilio-video-webrtc
react-native-twilio-video-webrtc copied to clipboard
TwilioVideoLocalView becomes transparent when TwilioVideoParticipantView is active
Steps to reproduce
- Join session with TwilioVideoLocalView hard coded as enabled={true}
- Join the video call from a Twilio video web interface
- TwilioVideoLocalView becomes transparent when TwilioVideoParticipantView is active
- Toggling participant video off will bring back the TwilioVideoLocalView, and toggling it on will remove it again.
Expected behaviour
The TwilioVideoLocalView should exist simultaneously with TwilioVideoParticipantView.
Actual behaviour
The TwilioVideoLocalView becomes transparent when TwilioVideoParticipantView is active. The local video stream is still working and the participant can see the stream, although the LocalView itself just becomes transparent and cannot be seen.
Environment
- Node.js version: 14.15.1
- React Native version: 0.65.1
- React Native platform + platform version: Occurs on Android 12 (Pixel 5) and Android 10 (One+ 5). Does not occur on iOS 15.1 (iPhone 11) or on Android 12 (Galaxy Tab S7).
react-native-twilio-video-webrtc
Version: master
Quite related: https://github.com/blackuy/react-native-twilio-video-webrtc/issues/362, although in this instance the user's issue was caused by react-native-screens.. which is not included in our project.
Here's some logs. Before the logs, I am connected to the TwilioVideoLocalView and the logs capture the moment when the remote participant connects to TwilioVideoParticipantView and the TwilioVideoLocaView becomes transparent. @slycoder if you could have a look over to see if anything catches your eye it would be greatly appreciated. Seems like something codec related.. ?
12:05:40.240 5717 tvi.webrtc.Logging WebRtcAudioManager: VOICE_CALL stream volume: 1 (max=7)
12:05:40.476 1132 ASH @ 43578.198: AP has been up: last 43277362997, now 43578198379 usec
12:05:40.868 1898 ConnectivityService NetReassign [no changes]
12:05:40.897 1142 native W0531 12:05:40.896961 7309 flicker_detector.cc:137] Representable frequencies at 1 are all harmonics.
12:05:40.897 1142 native W0531 12:05:40.897190 7309 flicker_detector.cc:137] Representable frequencies at 2 are all harmonics.
12:05:41.070 1905 pixel-thermal skin-therm-monitor: 40.755 degC
12:05:41.080 1905 pixel-thermal panel-audio-therm: 40.752 degC
12:05:41.203 1158 QC2Comp [vp8E_217] Stats: Works: Q: 161/Done 161|Work-Rate: Q(15.0/s Avg=15.3/s) Done(15.199/s Avg=15.302/s)| Stream: 15.38fps 1.7Mbps 288x352| Pending(0) i/p-done(0)
12:05:41.390 5717 tvi.webrtc.Logging SurfaceEglRenderer: : Reporting frame resolution changed to 352x288 with rotation 270
12:05:41.441 5717 tvi.webrtc.Logging HardwareVideoEncoder: Releasing MediaCodec on output thread
12:05:41.442 5717 CCodecBufferChannel [c2.qti.vp8.encoder#742] MediaCodec discarded an unknown buffer
12:05:41.458 1158 QC2V4l2Driver [vp8E_217] Closed device driver with fd: 32
12:05:41.460 5717 tvi.webrtc.Logging HardwareVideoEncoder: Release on output thread done
12:05:41.460 1158 QC2Comp [vp8E_217] Stats: Works: Q: 163/Done 163|Work-Rate: Q(7.8/s Avg=15.1/s) Done(7.767/s Avg=15.122/s)| Stream: 15.15fps 1.8Mbps 288x352| Pending(0) i/p-done(0)
12:05:41.460 1158 QC2Comp NOTE: handleReleaseCodec returning: 0 (OK=0)
12:05:41.460 1158 QC2Comp NOTE: Release returning: 0 (OK=0)
12:05:41.460 5717 hw-BpHwBinder onLastStrongRef automatically unlinking death recipients
12:05:41.461 1158 QC2CompStore Deleting component(c2.qti.vp8.encoder) id(217)
12:05:41.462 1158 QC2Comp [vp8E_217] Deallocated component c2.qti.vp8.encoder [id=217]
12:05:41.467 1158 BufferPoolAccessor2.0 bufferpool2 0xb400006f9f82fc48 : 0(0 size) total buffers - 0(0 size) used buffers - 159/166 (recycle/alloc) - 4/162 (fetch/transfer)
12:05:41.469 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: c2.qti.vp8.decoder type: VP8 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.470 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: c2.qti.avc.decoder type: H264 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.471 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: OMX.google.h264.decoder type: H264 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.472 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: c2.qti.vp9.decoder type: VP9 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.504 5717 inkblot.stagin No package ID ff found for ID 0xffffffff.
12:05:41.507 5717 CustomTwilioVideoView Remote Prview Construct
12:05:41.507 5717 CustomTwilioVideoView MT8ab3c4aed7bf1f066274514db9b3c4f1
12:05:41.508 5717 OpenSLESPlayer StopPlayout[tid=7208]
12:05:41.508 5717 inkblot.stagin PlayerBase::stop() from IPlayer
12:05:41.508 5717 AudioTrack stop(350): called with 530880 frames delivered
12:05:41.509 5717 OpenSLESPlayer DestroyAudioPlayer
12:05:41.510 5717 OpenSLESPlayer InitPlayout[tid=7208]
12:05:41.510 5717 OpenSLESPlayer ObtainEngineInterface
12:05:41.510 5717 OpenSLESPlayer CreateMix
12:05:41.511 1898 BluetoothHearingAid setVolume(-128)
12:05:41.511 1898 BluetoothHearingAid Proxy not attached to service
12:05:41.511 5717 OpenSLESPlayer StartPlayout[tid=7208]
12:05:41.511 5717 OpenSLESPlayer CreateAudioPlayer
12:05:41.512 5717 inkblot.stagin PlayerBase::PlayerBase()
12:05:41.513 5717 CustomTwilioVideoView Initialize Twilio REMOTE
12:05:41.513 5717 CustomTwilioVideoView
12:05:41.513 5717 inkblot.stagin TrackPlayerBase::TrackPlayerBase()
12:05:41.513 5717 libOpenSLES Emulating old channel mask behavior (ignoring positional mask 0x4, using default mask 0x1 based on channel count of 1)
12:05:41.514 4185 AudioPlaybackHandler App is playing audio but was ignored due to blacklist.
12:05:41.519 5717 tvi.webrtc.Logging SurfaceEglRenderer: : Reporting frame resolution changed to 288x352 with rotation 0
12:05:41.520 1176 AudioFlinger createTrack_l(): mismatch between requested flags (00000104) and output flags (00008000)
12:05:41.520 1176 AudioFlinger Client defaulted notificationFrames to 960 for frameCount 1924
12:05:41.522 5717 tvi.webrtc.Logging HardwareVideoEncoder: initEncode: 288 x 352. @ 1700kbps. Fps: 60 Use surface mode: true
12:05:41.523 5717 CCodec allocate(c2.qti.vp8.encoder)
12:05:41.524 1158 ECOSession ECOSession destroyed with w: 288, h: 352, isCameraRecording: 1
12:05:41.525 1176 AF::TrackHandle OpPlayAudio: track:262 usage:2 not muted
12:05:41.526 5717 CCodec setting up 'default' as default (vendor) store
12:05:41.527 1158 VendorCaps Failed to read platform VT driver version
12:05:41.527 1158 VendorCaps VT Driver Version - 0
12:05:41.527 1158 [email protected] missing struct descriptor #Param::CoreIndex(-V801f) for field ubwcStats of struct #Param::CoreIndex(-V8020)
12:05:41.527 1158 [email protected] missing struct descriptor #Param::CoreIndex(--002) for field mastering of struct #Param::CoreIndex(--180a)
12:05:41.527 1158 VendorCaps Failed to read platform preprocess max downscale factor
12:05:41.527 1158 VendorCaps Preprocess Max Down Scale Factor - 0
12:05:41.527 1158 VendorCaps Failed to read platform LTR max count
12:05:41.527 1158 VendorCaps LTR Max Count - 0
12:05:41.527 1158 VendorCaps Failed to read platform preprocess rotation
12:05:41.527 1158 VendorCaps Preprocess Rotation - 0
12:05:41.527 1158 StandardCaps Failed to read platform linear color format
12:05:41.527 1158 [email protected] missing struct descriptor #Param::CoreIndex(--004) for field values of struct #Param::CoreIndex(F-12004)
12:05:41.527 1158 QC2Comp Create: Allocated component[218] for name c2.qti.vp8.encoder : [64 bit]
12:05:41.527 1158 QC2CompStore Created component(c2.qti.vp8.encoder) id(218)
12:05:41.528 5717 AudioTrack createTrack_l(350): AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 0 -> 1924
12:05:41.528 5717 CCodec Created component [c2.qti.vp8.encoder]
12:05:41.529 1158 QC2Interface Failed to query parameters
12:05:41.529 5717 CCodecConfig read media type: video/x-vnd.on2.vp8
12:05:41.530 5717 ReflectedParamUpdater ignored struct field coding.gop.values
12:05:41.531 5717 ReflectedParamUpdater extent() != 1 for single value type: output.buffers.pool-ids.values
12:05:41.531 5717 ReflectedParamUpdater extent() != 1 for single value type: vendor.qti-ext-enc-info-ltr.ltrinfo
12:05:41.533 5717 ReflectedParamUpdater extent() != 1 for single value type: vendor.qti-ext-enc-info-metadata-cvp.reserved
12:05:41.534 5717 CCodecConfig ignoring local param raw.color (0xc2001809) as it is already supported
12:05:41.534 1158 QC2Interface Failed to query parameters
12:05:41.534 5717 CCodecConfig query failed after returning 20 values (BAD_INDEX)
12:05:41.535 5717 CCodecConfig
12:05:41.535 5717 ColorUtils expected specified color aspects (0:0:255:255)
12:05:41.537 1898 BluetoothHearingAid setVolume(-128)
12:05:41.537 1898 BluetoothHearingAid Proxy not attached to service
12:05:41.538 5717 tvi.webrtc.Logging HardwareVideoEncoder: Format: {color-format=2130708361, i-frame-interval=100, mime=video/x-vnd.on2.vp8, width=288, bitrate-mode=2, bitrate=1700000, frame-rate=60, height=352}
12:05:41.539 5717 VQApply minquality: applies only to VBR encoding
12:05:41.539 5717 MediaCodec shapeMediaFormat: deltas(0): AMessage(what = 0x00000000) = {}
12:05:41.539 5717 CCodec [c2.qti.vp8.encoder] buffers are bound to CCodec for this session
12:05:41.539 4185 AudioPlaybackHandler App is playing audio but was ignored due to blacklist.
12:05:41.539 5717 CCodecConfig no c2 equivalents for color-format
12:05:41.539 5717 CCodecConfig no c2 equivalents for flags
12:05:41.539 5717 CCodecConfig no c2 equivalents for encoder
12:05:41.540 1158 StandardCaps Preconditions for b-frame didn't meet. Disabling b-frame!
12:05:41.541 5717 CCodecConfig c2 config diff is c2::u32 algo.bitrate-mode.value = 1
c2::u32 coded.bitrate.value = 1700000
c2::float coded.frame-rate.value = 60
c2::i64 coding.sync-frame-interval.value = 100000000
c2::u32 raw.pixel-format.value = 34
c2::u32 raw.size.height = 352
c2::u32 raw.size.width = 288
12:05:41.541 5717 ColorUtils expected specified color aspects (0:0:255:255)
12:05:41.542 1107 EffectsFactory EffectCreate() create_effect
12:05:41.542 1158 QC2Interface Failed to query parameters
12:05:41.542 5717 CCodec
12:05:41.542 5717 CCodec
12:05:41.542 1158 QC2Interface Failed to query parameters
12:05:41.542 5717 CCodecConfig query failed after returning 20 values (BAD_INDEX)
12:05:41.543 5717 tvi.webrtc.Logging EglBase14Impl: Using OpenGL ES version 2
12:05:41.544 5717 OpenSLESPlayer StopPlayout[tid=7208]
12:05:41.544 5717 CCodec
12:05:41.544 5717 inkblot.stagin PlayerBase::stop() from IPlayer
12:05:41.544 5717 AudioTrack stop(351): called with 192 frames delivered
12:05:41.545 5717 GraphicBufferSource setting dataspace: 0x10c50000, acquired=0
12:05:41.545 5717 CCodec ISConfig not changed
12:05:41.546 5717 OpenSLESPlayer DestroyAudioPlayer
12:05:41.546 5717 inkblot.stagin PlayerBase::stop() from IPlayer
12:05:41.546 1898 BluetoothHearingAid setVolume(-128)
12:05:41.546 1898 BluetoothHearingAid Proxy not attached to service
12:05:41.546 1158 QC2Registry Build pipelined codec for session
12:05:41.546 1158 QC2Registry Getting stages for pipelined codec
12:05:41.547 1158 QC2Registry Pipelining not enabled
12:05:41.547 1158 QC2Registry Doesn't support pipelining. Create standalone codec
12:05:41.547 4185 AudioPlaybackHandler App is playing audio but was ignored due to blacklist.
12:05:41.547 1158 QC2V4l2Driver [vp8E_218] Device /dev/video33 opened with fd: 43
12:05:41.547 5717 OpenSLESPlayer InitPlayout[tid=7208]
12:05:41.547 5717 OpenSLESPlayer ObtainEngineInterface
12:05:41.547 5717 OpenSLESPlayer CreateMix
12:05:41.548 1158 QC2V4l2Driver [vp8E_218] failed to set buffer size limit to 4
12:05:41.548 5717 OpenSLESPlayer StartPlayout[tid=7208]
12:05:41.548 5717 OpenSLESPlayer CreateAudioPlayer
12:05:41.548 5717 inkblot.stagin PlayerBase::PlayerBase()
12:05:41.548 4185 AudioPlaybackHandler App is playing audio but was ignored due to blacklist.
12:05:41.549 5717 inkblot.stagin TrackPlayerBase::TrackPlayerBase()
12:05:41.549 5717 libOpenSLES Emulating old channel mask behavior (ignoring positional mask 0x4, using default mask 0x1 based on channel count of 1)
12:05:41.549 1158 QC2V4l2Codec [vp8E_218] unknown/unsupported param Output::SyncFrameInterval index = 0x52002005
12:05:41.549 1158 QC2V4l2Codec [vp8E_218] unknown/unsupported param Output::PFrameCount index = 0x52008001
12:05:41.549 1158 QC2V4l2Codec [vp8E_218] OPAQUE is not a supported pixel format!
12:05:41.550 1158 QC2V4l2Driver [vp8E_218] failed to set format on port:IN
12:05:41.550 1158 QC2V4l2Codec [vp8E_218] Failed to set resolution and buffer size for IN port
12:05:41.550 1158 QC2Comp [vp8E_218] configureCodec: Failed to set updated param Input::PixelFormat
12:05:41.550 1158 QC2Interface Failed to query parameters
12:05:41.550 5717 Codec2Client query -- param skipped: index = 1342179345.
12:05:41.550 5717 Codec2Client query -- param skipped: index = 2415921170.
12:05:41.550 5717 Codec2Client query -- param skipped: index = 1610614798.
12:05:41.550 1158 QC2Interface Failed to query parameters
12:05:41.550 5717 CCodecBufferChannel [c2.qti.vp8.encoder#78] Query input allocators returned 0 params => BAD_INDEX (6)
12:05:41.550 5717 CCodecBufferChannel [c2.qti.vp8.encoder#78] Using basic input block pool with poolID 1 => got 1 - OK (0)
12:05:41.550 1158 QC2Interface Failed to query parameters
12:05:41.550 5717 CCodecBufferChannel [c2.qti.vp8.encoder#78] Query output allocators returned 0 params => BAD_INDEX (6)
12:05:41.551 1158 BufferPoolAccessor2.0 bufferpool2 0xb400006f9f8341a8 : 4(7634944 size) total buffers - 4(7634944 size) used buffers - 63697/64030 (recycle/alloc) - 1152/64025 (fetch/transfer)
12:05:41.551 5717 CCodecBufferChannel [c2.qti.vp8.encoder#78] Created output block pool with allocatorID 16 => poolID 159 - OK
12:05:41.551 5717 CCodecBufferChannel [c2.qti.vp8.encoder#78] Configured output block pool ids 159 => OK
12:05:41.551 1158 QC2Interface Few parameters failed to configure
12:05:41.552 1176 AudioFlinger createTrack_l(): mismatch between requested flags (00000104) and output flags (00008000)
12:05:41.552 1362 ResourceManagerService Ignoring request to add new resource entry with value <= 0
12:05:41.552 1176 AudioFlinger Client defaulted notificationFrames to 960 for frameCount 1924
12:05:41.554 1176 AF::TrackHandle OpPlayAudio: track:263 usage:2 not muted
12:05:41.555 5717 AudioTrack createTrack_l(351): AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 0 -> 1924
12:05:41.558 1898 BluetoothHearingAid setVolume(-128)
12:05:41.558 1898 BluetoothHearingAid Proxy not attached to service
12:05:41.560 4185 AudioPlaybackHandler App is playing audio but was ignored due to blacklist.
12:05:41.563 1107 EffectsFactory EffectCreate() create_effect
12:05:41.566 1107 msm8974_platform platform_send_gain_dep_cal: Usecase list is empty
12:05:41.579 5717 tvi.webrtc.Logging EglRenderer: Initializing EglRenderer
12:05:41.580 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: c2.qti.vp8.decoder type: VP8 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.580 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: c2.qti.avc.decoder type: H264 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.580 5717 tvi.webrtc.Logging EglRenderer: EglBase.create shared context
12:05:41.581 5717 tvi.webrtc.Logging EglBase14Impl: Using OpenGL ES version 2
12:05:41.582 5717 tvi.webrtc.Logging EglRenderer: setMirrorHorizontally: false
12:05:41.583 5717 tvi.webrtc.Logging AndroidVideoDecoder: ctor name: OMX.google.h264.decoder type: H264 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@a20ecd4
12:05:41.584 5717 tvi.webrtc.Logging EglRenderer: setLayoutAspectRatio: 0.5
12:05:41.584 1107 audio_hw_primary out_set_volume: called with left_vol=0.044669, right_vol=0.044669
12:05:41.590 5717 tvi.webrtc.Logging SurfaceEglRenderer: : surfaceChanged: format: 4 size: 1080x2160
12:05:41.605 1107 msm8974_platform platform_send_gain_dep_cal: Usecase list is empty
12:05:41.656 5717 tvi.webrtc.Logging HardwareVideoEncoder: Releasing MediaCodec on output thread
12:05:41.660 1158 QC2V4l2Driver [vp8E_218] Closed device driver with fd: 43
12:05:41.661 1158 QC2Comp [vp8E_218] Stats: Works: Q: 0/Done 0|Work-Rate: Q(0.0/s Avg=0.0/s) Done(0.000/s Avg=0.000/s)| Stream: 30.00fps 0.0Kbps 0x0| Pending(0) i/p-done(0)
12:05:41.661 1158 QC2Comp NOTE: handleReleaseCodec returning: 0 (OK=0)
12:05:41.662 1158 QC2Comp NOTE: Release returning: 0 (OK=0)
12:05:41.662 5717 tvi.webrtc.Logging HardwareVideoEncoder: Release on output thread done
12:05:41.662 5717 hw-BpHwBinder onLastStrongRef automatically unlinking death recipients
12:05:41.662 1158 QC2CompStore Deleting component(c2.qti.vp8.encoder) id(218)
12:05:41.662 1158 QC2Comp [vp8E_218] Deallocated component c2.qti.vp8.encoder [id=218]
12:05:41.662 1158 BufferPoolAccessor2.0 Destruction - bufferpool2 0xb400006f9f8366a8 cached: 0/0M, 0/0% in use; allocs: 0, 0% recycled; transfers: 0, 0% unfetched
12:05:41.665 5717 CCodec allocate(c2.qti.vp8.encoder)
12:05:41.671 5717 CCodec setting up 'default' as default (vendor) store
12:05:41.673 1158 VendorCaps Failed to read platform VT driver version
12:05:41.673 1158 VendorCaps VT Driver Version - 0
12:05:41.673 1158 [email protected] missing struct descriptor #Param::CoreIndex(-V801f) for field ubwcStats of struct #Param::CoreIndex(-V8020)
12:05:41.673 1158 [email protected] missing struct descriptor #Param::CoreIndex(--002) for field mastering of struct #Param::CoreIndex(--180a)
12:05:41.673 1158 VendorCaps Failed to read platform preprocess max downscale factor
12:05:41.673 1158 VendorCaps Preprocess Max Down Scale Factor - 0
12:05:41.673 1158 VendorCaps Failed to read platform LTR max count
12:05:41.673 1158 VendorCaps LTR Max Count - 0
12:05:41.674 1158 VendorCaps Failed to read platform preprocess rotation
12:05:41.674 1158 VendorCaps Preprocess Rotation - 0
12:05:41.674 1158 StandardCaps Failed to read platform linear color format
12:05:41.674 1158 [email protected] missing struct descriptor #Param::CoreIndex(--004) for field values of struct #Param::CoreIndex(F-12004)
12:05:41.674 1158 QC2Comp Create: Allocated component[219] for name c2.qti.vp8.encoder : [64 bit]
12:05:41.674 1158 QC2CompStore Created component(c2.qti.vp8.encoder) id(219)
12:05:41.676 5717 CCodec Created component [c2.qti.vp8.encoder]
12:05:41.676 1158 QC2Interface Failed to query parameters
12:05:41.676 5717 CCodecConfig read media type: video/x-vnd.on2.vp8
12:05:41.679 5717 ReflectedParamUpdater extent() != 1 for single value type: output.buffers.pool-ids.values
12:05:41.681 5717 ReflectedParamUpdater extent() != 1 for single value type: vendor.qti-ext-enc-info-ltr.ltrinfo
12:05:41.681 5717 ReflectedParamUpdater extent() != 1 for single value type: vendor.qti-ext-enc-info-metadata-cvp.reserved
12:05:41.682 5717 ReflectedParamUpdater ignored struct field coding.gop.values
12:05:41.683 5717 CCodecConfig ignoring local param raw.color (0xc2001809) as it is already supported
12:05:41.683 1158 QC2Interface Failed to query parameters
12:05:41.683 5717 CCodecConfig query failed after returning 20 values (BAD_INDEX)
12:05:41.684 5717 CCodecConfig
12:05:41.684 5717 ColorUtils expected specified color aspects (0:0:255:255)
12:05:41.685 5717 tvi.webrtc.Logging HardwareVideoEncoder: Format: {color-format=19, i-frame-interval=100, mime=video/x-vnd.on2.vp8, width=288, bitrate-mode=2, bitrate=1700000, frame-rate=30, height=352}
@slycoder quick update, found that the issue is when the TwilioVideoLocalView is behind or ontop (absolutely positioned) of the TwilioVideoParticipantView, the TwilioVideoLocalView will become transparent and the TwilioVideoLocaView will consume the space with the participant video stream. I've tried following the example styling to a t and found the same issue. In this case, there is no way to make the localView sit atop the participant view.
Hi this issue is reproducible for android , to fix that I make a hack to disable and then enable the camera again by code and it worked. Also this happens if we do not give fix positions to the views for local and other participants
Can you try setting applyZOrder={true} on the view you want to appear on top (and false for the view you want to appear underneath?)
Can you try setting applyZOrder={true} on the view you want to appear on top (and false for the view you want to appear underneath?)
This fixes my problem
@slycoder @darpsoft
Where i have to set applyZOrder={true}
@slycoder
Can you try setting applyZOrder={true} on the view you want to appear on top (and false for the view you want to appear underneath?)
this is the solution
applyZOrder={true}
add applyZOrder={true} porp for TwilioVideoLocalView and applyZOrder={false} for TwilioVideoParticipantView
applyZOrder={true}
add applyZOrder={true} porp for TwilioVideoLocalView and applyZOrder={false} for TwilioVideoParticipantView
it works for me