Fix openH264 for android < 5.0

This commit is contained in:
Erwan Croze 2016-12-13 16:15:45 +01:00
parent 517bca8d18
commit 3cfab1c16d
3 changed files with 9 additions and 11 deletions

View file

@ -25,7 +25,6 @@ public class H264Helper {
* H264Helper
*/
public H264Helper() {
}
@ -39,22 +38,22 @@ public class H264Helper {
*/
public static void setH264Mode(String mode, LinphoneCore linphoneCore){
if(mode.equals(MODE_OPENH264)){
Log.e("H264Helper"," setH264Mode MODE_OPENH264 - Mode = "+mode);
Log.i("H264Helper"," setH264Mode MODE_OPENH264 - Mode = "+mode);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_MEDIA_CODEC_DEC , false);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_MEDIA_CODEC_ENC , false);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_DEC , true);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_ENC , true);
}else if(mode.equals(MODE_MEDIA_CODEC)){
Log.e("H264Helper"," setH264Mode MODE_MEDIA_CODEC - Mode = "+mode);
Log.i("H264Helper"," setH264Mode MODE_MEDIA_CODEC - Mode = "+mode);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_DEC , false);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_ENC , false);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_MEDIA_CODEC_DEC , true);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_MEDIA_CODEC_ENC , true);
}else if(mode.equals(MODE_AUTO)){
Log.e("H264Helper"," setH264Mode MODE_AUTO - Mode = "+mode);
Log.i("H264Helper"," setH264Mode MODE_AUTO - Mode = "+mode);
// if android >= 5.0 use MediaCodec
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
Log.e("H264Helper"," setH264Mode MODE_AUTO 1 - Mode = "+mode);
Log.i("H264Helper"," setH264Mode MODE_AUTO 1 - Mode = "+mode);
Log.i("LinphoneCoreFactoryImpl"," Openh264 disabled on the project, now using MediaCodec");
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_DEC , false);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_ENC , false);
@ -63,7 +62,7 @@ public class H264Helper {
}
//otherwise use OpenH264
else{
Log.e("H264Helper"," setH264Mode MODE_AUTO 2 - Mode = "+mode);
Log.i("H264Helper"," setH264Mode MODE_AUTO 2 - Mode = "+mode);
Log.i("LinphoneCoreFactoryImpl"," Openh264 enabled on the project");
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_MEDIA_CODEC_DEC , false);
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_MEDIA_CODEC_ENC , false);
@ -71,10 +70,9 @@ public class H264Helper {
linphoneCore.getMSFactory().enableFilterFromName(FILTER_NAME_OPENH264_ENC , true);
}
}else {
Log.e("LinphoneCoreFactoryImpl"," Error: Openh264 mode not reconized !");
Log.i("LinphoneCoreFactoryImpl"," Error: Openh264 mode not reconized !");
}
Log.e("H264Helper"," setH264Mode - Mode = "+mode);
Log.i("H264Helper"," setH264Mode - Mode = "+mode);
}
}

View file

@ -55,7 +55,7 @@ public class OpenH264DownloadHelper {
public OpenH264DownloadHelper(Context context) {
userData = new ArrayList<Object>();
licenseMessage = "OpenH264 Video Codec provided by Cisco Systems, Inc.";
nameLib = "libopenh264-1.5.so";
nameLib = "libopenh264.so";
urlDownload = "http://ciscobinary.openh264.org/libopenh264-1.5.0-android19.so.bz2";
nameFileDownload = "libopenh264-1.5.0-android19.so.bz2";
if(context.getFilesDir() != null) {

@ -1 +1 @@
Subproject commit e5a2292ec6b203eb8a2db03e39a15820c5b2c55e
Subproject commit 36be0219dc37ca4daf333dcfc83af8dd3b68b1b2