Сбой WebRTC PeerConnection при использовании setLocalDescription () - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь начать «вызов» с помощью PeerConnection. Я начинаю с создания предложения и передаю обратный вызов, который вызывает setLocalDescription() на PeerConnection. Однако это приводит к сбою приложения с нулевым исключением. Вот эта трассировка стека

2019-05-23 00:10:23.583 13684-14658/me.amryousef.homedoor A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x6c in tid 14658 (worker_thread -)
2019-05-23 00:10:23.628 538-4027/? E/QCamera: <HAL><ERROR> processCaptureRequest: 4865: Did not find matching stream to update index
2019-05-23 00:10:23.649 14736-14736/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-05-23 00:10:23.649 14736-14736/? A/DEBUG: Build fingerprint: 'OnePlus/OnePlus3/OnePlus3:8.0.0/OPR1.170623.032/47:user/release-keys'
2019-05-23 00:10:23.649 14736-14736/? A/DEBUG: Revision: '0'
2019-05-23 00:10:23.649 14736-14736/? A/DEBUG: ABI: 'arm64'
2019-05-23 00:10:23.649 14736-14736/? A/DEBUG: pid: 13684, tid: 14658, name: worker_thread -  >>> me.amryousef.homedoor <<<
2019-05-23 00:10:23.649 14736-14736/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6c
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6c
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG: Cause: null pointer dereference
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x0   000000749d387ff0  x1   000000749d388008  x2   000000749a400000  x3   0000000000000003
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x4   0000000000000141  x5   8000000000000000  x6   ff63646a6e756471  x7   7f7f7f7f7f7f7f7f
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x8   0000000000000000  x9   91cee4b1723ef4f4  x10  0000000000000000  x11  000000749d388008
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x12  00000000ffffffff  x13  00000000ffffff80  x14  000000000000000d  x15  aaaaaaaaaaaaaaab
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x16  00000074bcf32cb0  x17  00000074bced0f2c  x18  000000749d3861ec  x19  000000749cc54000
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x20  0000000000000000  x21  000000749b816998  x22  000000749cc54200  x23  0000000000000000
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x24  0000000000000000  x25  000000749b816454  x26  000000749cc540f0  x27  000000749d593dd1
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     x28  000000000022308b  x29  000000749d388060  x30  000000749da066e4
2019-05-22 23:46:39.120 13650-13650/? A/DEBUG:     sp   000000749d387ff0  pc   000000749da066e8  pstate 0000000060000000

Полная реализация обработки PeerConnection может быть найдена в этом gist

Какова будет причина этого null pointer dereference? Чего не хватает в процессе создания offer?


Вот как я построил PeerConnection

peerConnectionFactory = PeerConnectionFactory
            .builder()
            .createPeerConnectionFactory()

и я использую следующую версию

"org.webrtc:google-webrtc:1.0.27771"

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Проблема заключалась в том, что я не настраивал фабрики видеокодеков (кодирования / декодирования).Это стало требованием в какой-то момент в соответствии с объявлением .

. Исправление состояло в том, чтобы построить PeerConnection, например:

0 голосов
/ 24 мая 2019

Я думаю, что это проблема версии Google-webrtc.но я не знаю почему.Вы не должны использовать org.webrtc: google-webrtc: 1.0. +.вы можете попробовать правильную версию, например 'org.webrtc: google-webrtc: 1.0.24277'

'org.webrtc: google-webrtc: 1.0. +', использовать версию 1.0.28032-0 , ине сможет установить LocalDescription (у sdp нет информации о VP8)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...