open-webrtc-toolkit / owt-client-android

Open WebRTC Toolkit client SDK for Android applications.
https://01.org/open-webrtc-toolkit
Apache License 2.0
195 stars 96 forks source link

MeiZu PRO 7-S subscribe with h265 lead crash #170

Closed zhangyihui1 closed 4 years ago

zhangyihui1 commented 4 years ago

1: meizu join room 2: meizu subscribe mix stream with h265

expect: meizu subscribe h265 success and video quality good actual: subscribe h265 crash

log: 2019-09-27 15:03:03.027 8959-9061/owt.sample.conference E/AndroidRuntime: FATAL EXCEPTION: pool-6-thread-1 Process: owt.sample.conference, PID: 8959 java.lang.NullPointerException: Attempt to invoke virtual method 'void owt.conference.Subscription.onError(owt.base.OwtError)' on a null object reference at owt.conference.ConferenceClient.onError(ConferenceClient.java:895) at owt.conference.ConferencePeerConnectionChannel.lambda$onSetFailure$23$ConferencePeerConnectionChannel(ConferencePeerConnectionChannel.java:118) at owt.conference.-$$Lambda$ConferencePeerConnectionChannel$SuZqmJsooiK8I2_SjeocaJFNI2E.run(lambda) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761)

meizu media_codecs_mediatek_video.xml: MediaCodec name="OMX.MTK.VIDEO.DECODER.HEVC" type="video/hevc"

lzhai commented 4 years ago

Native runtime exception in Android SDK can't been caught when setRemoteDescription with H.265. So Android client need to check whether support H.265. Maybe in future, SDK can also provide API to query client supported codec list.

jianjunz commented 4 years ago

It looks like the crash is caused by java.lang.NullPointerException instead of a native exception? And is it possible to report setRemoteDescription failure through SdpObserver?