public static IceCandidate parseIceCandidate()

in src/main/java/com/amazonaws/kinesisvideo/signaling/model/Event.java [59:85]


    public static IceCandidate parseIceCandidate(Event event) {

        byte[] decode = Base64.decode(event.getMessagePayload(), Base64.DEFAULT);
        String candidateString = new String(decode);

        JsonObject jsonObject = JsonParser.parseString(candidateString).getAsJsonObject();

        String sdpMid = jsonObject.get("sdpMid").toString();
        if (sdpMid.length() > 2) {
            sdpMid = sdpMid.substring(1, sdpMid.length() - 1);
        }

        int sdpMLineIndex = 0;
        try {
            sdpMLineIndex = Integer.parseInt(jsonObject.get("sdpMLineIndex").toString());
        } catch (NumberFormatException e) {
            Log.e(TAG,  "Invalid sdpMLineIndex");
            return null;
        }

        String candidate = jsonObject.get("candidate").toString();
        if (candidate.length() > 2) {
            candidate = candidate.substring(1, candidate.length() - 1);
        }

        return new IceCandidate(sdpMid, sdpMLineIndex, candidate);
    }