diff --git a/daemon/janus.c b/daemon/janus.c index 1e80da33d..1b04c7704 100644 --- a/daemon/janus.c +++ b/daemon/janus.c @@ -1343,13 +1343,19 @@ const char *janus_trickle(JsonReader *reader, struct janus_session *session, uin if (!json_reader_read_member(reader, "candidate")) return "JSON object does not contain 'candidate' key"; - if (!json_reader_read_member(reader, "candidate")) - return "ICE candidate string missing"; - const char *candidate = json_reader_get_string_value(reader); - if (!candidate) - return "ICE candidate string missing"; + const char *candidate = NULL; + if (json_reader_read_member(reader, "candidate")) + candidate = json_reader_get_string_value(reader); json_reader_end_member(reader); + if (!candidate) { + if (json_reader_read_member(reader, "completed")) { + *successp = "ack"; + return NULL; + } + return "ICE candidate string missing"; + } + const char *ufrag = NULL; if (json_reader_read_member(reader, "usernameFragment")) ufrag = json_reader_get_string_value(reader);