This message was deleted.
# helpdesk
s
This message was deleted.
s
UPD: It happens only when the other participant joins the room. When participant (Umidigi F2) is alone in the room. Everything is OK. Here is last logs
Copy code
D/skia    (16974): onFlyCompress
D/SurfaceUtils(16974): set up nativeWindow 0x7cae2f5010 for 65536x65536, color 0x32315679, rotation 0, usage 0x2933
W/ACodec  (16974): [OMX.MTK.VIDEO.DECODER.VP9] setting nBufferCountActual to 18 failed: -22
I/BufferQueueProducer(16974): [SurfaceTexture-0-16974-1](this:0x7cae3d1800,id:1,api:1,p:16974,c:16974) queueBuffer: slot 2 is dropped, handle=0x7c5cf573c0
D/Surface (16974): Surface::setBufferCount(this=0x7cae2f5000,bufferCount=17)
F/libc    (16974): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 19019 (JNISurfaceTextu), pid 16974 (fitzoom.meetfit)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'UMIDIGI/F2/F2:10/QP1A.190711.020/1585833944:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2023-07-23 13:09:02+0300
pid: 16974, tid: 19019, name: JNISurfaceTextu  >>> com.fitzoom.meetfit <<<
uid: 10456
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'ubsan: mul-overflow'
    x0  0000000000000000  x1  0000000000004a4b  x2  0000000000000006  x3  0000007a9ee3bd20
    x4  6f646326ff73726e  x5  6f646326ff73726e  x6  6f646326ff73726e  x7  0000000000000038
    x8  00000000000000f0  x9  0000007d9aa7f4e0  x10 0000000000000000  x11 0000000000000001
    x12 0000000000000030  x13 000000000000000c  x14 0000007c6c0210f8  x15 0000000000000002
    x16 0000007d9ab4b8c0  x17 0000007d9ab29060  x18 0000007a4a5be000  x19 00000000000000ac
    x20 000000000000424e  x21 00000000000000b2  x22 0000000000004a4b  x23 00000000ffffffff
    x24 0000000000010000  x25 0000000000010000  x26 0000007cae61c590  x27 0000007a9ee3d020
    x28 0000007d97bea028  x29 0000007a9ee3bdd0
    sp  0000007a9ee3bd00  lr  0000007d9aadd170  pc  0000007d9aadd1a0
backtrace:
      #00 pc 00000000000821a0  /apex/com.android.runtime/lib64/bionic/libc.so (abort+176) (BuildId: 2a5abdc9c768b33656f7aa8d9ce5cf54)
      #01 pc 000000000002a1c8  /system/lib64/libui.so (abort_with_message(char const*)+20) (BuildId: 3b4c60103a5013b710cea07ee5aa5c56)
      #02 pc 000000000002a21c  /system/lib64/libui.so (__ubsan_handle_mul_overflow_minimal_abort+24) (BuildId: 3b4c60103a5013b710cea07ee5aa5c56)
      #03 pc 00000000000242bc  /system/lib64/libui.so (android::GraphicBufferAllocator::allocate(unsigned int, unsigned int, int, unsigned int, unsigned long, native_handle const**, unsigned int*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)+620) (BuildId: 3b4c60103a5013b710cea07ee5aa5c56)
      #04 pc 0000000000021fac  /system/lib64/libui.so (android::GraphicBuffer::initWithSize(unsigned int, unsigned int, int, unsigned int, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)+212) (BuildId: 3b4c60103a5013b710cea07ee5aa5c56)
      #05 pc 0000000000021e8c  /system/lib64/libui.so (android::GraphicBuffer::GraphicBuffer(unsigned int, unsigned int, int, unsigned int, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)+124) (BuildId: 3b4c60103a5013b710cea07ee5aa5c56)
      #06 pc 000000000007659c  /system/lib64/libgui.so (android::BufferQueueProducer::dequeueBuffer(int*, android::sp<android::Fence>*, unsigned int, unsigned int, int, unsigned long, unsigned long*, android::FrameEventHistoryDelta*)+1724) (BuildId: 56bcb16035a13a047fb55c36c4899c27)
      #07 pc 00000000000bc390  /system/lib64/libgui.so (android::Surface::dequeueBuffer(ANativeWindowBuffer**, int*)+472) (BuildId: 56bcb16035a13a047fb55c36c4899c27)
      #08 pc 00000000000890bc  /system/lib64/libstagefright.so (android::ACodec::dequeueBufferFromNativeWindow()+292) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #09 pc 000000000008a6dc  /system/lib64/libstagefright.so (android::ACodec::submitOutputMetadataBuffer()+84) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #10 pc 0000000000095160  /system/lib64/libstagefright.so (android::ACodec::ExecutingState::submitOutputMetaBuffers()+360) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #11 pc 0000000000093048  /system/lib64/libstagefright.so (android::ACodec::OutputPortSettingsChangedState::onOMXEvent(OMX_EVENTTYPE, unsigned int, unsigned int)+376) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #12 pc 000000000008e4e0  /system/lib64/libstagefright.so (android::ACodec::BaseState::onOMXMessage(android::sp<android::AMessage> const&)+928) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #13 pc 000000000008d620  /system/lib64/libstagefright.so (android::ACodec::BaseState::onMessageReceived(android::sp<android::AMessage> const&)+1248) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #14 pc 0000000000092ca8  /system/lib64/libstagefright.so (android::ACodec::OutputPortSettingsChangedState::onMessageReceived(android::sp<android::AMessage> const&)+1000) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #15 pc 00000000000b6be8  /system/lib64/libstagefright.so (android::AHierarchicalStateMachine::handleMessage(android::sp<android::AMessage> const&)+272) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #16 pc 000000000008df18  /system/lib64/libstagefright.so (android::ACodec::BaseState::onOMXMessageList(android::sp<android::AMessage> const&)+400) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #17 pc 000000000008d390  /system/lib64/libstagefright.so (android::ACodec::BaseState::onMessageReceived(android::sp<android::AMessage> const&)+592) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #18 pc 0000000000092ca8  /system/lib64/libstagefright.so (android::ACodec::OutputPortSettingsChangedState::onMessageReceived(android::sp<android::AMessage> const&)+1000) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #19 pc 00000000000b6be8  /system/lib64/libstagefright.so (android::AHierarchicalStateMachine::handleMessage(android::sp<android::AMessage> const&)+272) (BuildId: 2667753f995f993c29e8c26541caaf07)
      #20 pc 00000000000174a4  /system/lib64/libstagefright_foundation.so (android::AHandler::deliverMessage(android::sp<android::AMessage> const&)+84) (BuildId: b78d052f82cdd4767488afd9882d0a81)
      #21 pc 000000000001ce10  /system/lib64/libstagefright_foundation.so (android::AMessage::deliver()+168) (BuildId: b78d052f82cdd4767488afd9882d0a81)
      #22 pc 00000000000187a4  /system/lib64/libstagefright_foundation.so (android::ALooper::loop()+588) (BuildId: b78d052f82cdd4767488afd9882d0a81)
      #23 pc 00000000000137c0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+312) (BuildId: f013cbada038685234657c61db8227dc)
      #24 pc 00000000000e2364  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 2a5abdc9c768b33656f7aa8d9ce5cf54)
      #25 pc 0000000000083d98  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 2a5abdc9c768b33656f7aa8d9ce5cf54)
Lost connection to device.
Exited
When I enable few other codecs in addition to vp9 (vp8, h264) the app stops crashing. But the video of participant from this device (on other devices) freezes every few seconds for ~ 1 second
f
This may be a compatibility issue with MTK HW codec, here is a similar issue https://github.com/livekit/client-sdk-flutter/issues/297
s
So what is the recommended resolution for this issue? Turn off simulcast?
@freezing-lifeguard-43174 Also is there a way I can check for this kind of incompatibility before room connect?
f
Might need to make a patch to turn off the HW codec on special devices (use SW codec).
d
we are still testing vp9 and av1 on mobile SDKs. there are bugs like this one that we are still trying to fix. please use vp8/av1 for now.
👌 1
s
Ok, got it. But anyway, can you give an explanation about codecs on frontend and backend and their connection?
d
sure, the front end decides what codec it'll prefer. and the server would decide which codecs the whole project would accept. for a codec to be successfully published, both client and server has to have it enabled
s
I thought that streams are formed at front and are being split at server to redirect to every subscribed participant. So it is a bit confusing to have those codecs enabled at backend. Or is it something related to this splitting? And what about transcoding? When it happens?
Also when testing VP9 it showed to be very performant. So I'm really looking into using it in my project. Will there be some announcement when it is fully supported?
d
yup, it'll be announced soon!
🔥 1
the reason we allow codecs to be enabled/disabled is if you'd want to force clients to use a particular codec, for example.
s
Hi @dry-elephant-14928. I want to clarify one more thing regarding codecs. When you set enabled codecs to VP8 in one of my projects (before release of this functionality in cloud dashboard) my app was working, but the default codec in Flutter client is h264 and I didn't change it. How is it possible? According to your explanation I had to have VP8 and h264 enabled in order for my app to work. Am I missing something?
d
Our mobile SDKs support both VP8 and H.264. when you set publishingCodec, it's setting the order of preference for the client. if the server doesn't support what the client prefers, but supports another codec that the client also supports, then the negotiation process will end up using the non-preferred codec.
s
I see. Now it makes more sense. Thanks