Problem with loading ms2 plugins on Android 6.0
While testing the latest linphone build (929ac06) on Android 6.0 devices it happened that WebRTC that, in our project is used for echo-canceling does not get loaded with the following log:
Loading ms plugins from list
Found Android plugin libmswebrtc.so
Loading plugin libmswebrtc.so...
Fail to load plugin libmswebrtc.so: file libmswebrtc.so not found
While with the 4.2 tagged release we get:
Loading ms plugins from [/data/app/com.myapp-1/lib/arm]
Loading plugin /data/app/com.myapp-1/lib/arm/libmswebrtc.so...
libmswebrtc 1.1.1 plugin loaded, iSAC codec version 3.6.0, iLBC codec version 1.1.1
Plugin loaded (/data/app/com.myapp-1/lib/arm/libmswebrtc.so)
The problem resides in https://gitlab.linphone.org/BC/public/mediastreamer2/blob/master/src/base/msfactory.c#L790 which seems to do a special loading for plugins for andorid >= 23 while The old 4.2 used loading from the directory that worked fine.
When testing on a Android 8.0 the loading from list actually worked fine and we had no problems. I suggest to change https://gitlab.linphone.org/BC/public/mediastreamer2/blob/master/src/base/msfactory.c#L790 to exclude version 23 form the case as it did not work on two different android devices (one custom made and a Nexus from Google)