/** * Return whether this device is allowed to use hardware echo cancellation. * <p> * This will return false only for devices on the {@link #HW_AEC_EXCLUSION_LIST}.
*/ publicstaticboolean allowHardwareAec() { final String deviceInfo = Build.MANUFACTURER + ";" + Build.MODEL; for (String entry : HW_AEC_EXCLUSION_LIST) { if (entry.equalsIgnoreCase(deviceInfo)) { returnfalse;
}
} returntrue;
}
/** * Do not use this directly, only for simplified testing. * Use {@link #allowHardwareVideoCodec()} instead!
*/ protectedstaticboolean allowHardwareVideoCodec(String[] exclusionList, String deviceInfo) { for (String entry : exclusionList) { if (deviceInfo.toLowerCase().startsWith(entry.toLowerCase())) { returnfalse;
}
} returntrue;
}
/** * Return whether this device is allowed to use hardware video codecs. * <p> * This will return false only for devices on the {@link #HW_VIDEO_CODEC_EXCLUSION_LIST}.
*/ publicstaticboolean allowHardwareVideoCodec() { final String deviceInfo = Build.MANUFACTURER + ";" + Build.MODEL + ";" + Build.VERSION.RELEASE; return allowHardwareVideoCodec(HW_VIDEO_CODEC_EXCLUSION_LIST, deviceInfo);
}
privatestaticfinal TurnServerCache TURN_SERVER_CACHE = new TurnServerCache("voip", MIN_SPARE_TURN_VALIDITY);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.