зеркало из https://github.com/mozilla/gecko-dev.git
Bug 979966: Dump diagnostic information when an ICE stream fails. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D18589 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
93d67afd46
Коммит
8f731d7999
|
@ -586,11 +586,9 @@ void nr_ice_candidate_pair_set_state(nr_ice_peer_ctx *pctx, nr_ice_cand_pair *pa
|
|||
}
|
||||
}
|
||||
|
||||
int nr_ice_candidate_pair_dump_state(nr_ice_cand_pair *pair, FILE *out)
|
||||
void nr_ice_candidate_pair_dump_state(nr_ice_cand_pair *pair, int log_level)
|
||||
{
|
||||
/*r_log(LOG_ICE,LOG_DEBUG,"CAND-PAIR(%s): pair %s: state=%s, priority=0x%llx\n",pair->codeword,pair->as_string,nr_ice_cand_pair_states[pair->state],pair->priority);*/
|
||||
|
||||
return(0);
|
||||
r_log(LOG_ICE,log_level,"CAND-PAIR(%s): pair %s: state=%s, priority=0x%llx\n",pair->codeword,pair->as_string,nr_ice_cand_pair_states[pair->state],pair->priority);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ int nr_ice_candidate_pair_create(nr_ice_peer_ctx *pctx, nr_ice_candidate *lcand,
|
|||
int nr_ice_candidate_pair_unfreeze(nr_ice_peer_ctx *pctx, nr_ice_cand_pair *pair);
|
||||
int nr_ice_candidate_pair_start(nr_ice_peer_ctx *pctx, nr_ice_cand_pair *pair);
|
||||
void nr_ice_candidate_pair_set_state(nr_ice_peer_ctx *pctx, nr_ice_cand_pair *pair, int state);
|
||||
int nr_ice_candidate_pair_dump_state(nr_ice_cand_pair *pair, FILE *out);
|
||||
void nr_ice_candidate_pair_dump_state(nr_ice_cand_pair *pair, int log_level);
|
||||
void nr_ice_candidate_pair_cancel(nr_ice_peer_ctx *pctx,nr_ice_cand_pair *pair, int move_to_wait_state);
|
||||
int nr_ice_candidate_pair_select(nr_ice_cand_pair *pair);
|
||||
int nr_ice_candidate_pair_do_triggered_check(nr_ice_peer_ctx *pctx, nr_ice_cand_pair *pair);
|
||||
|
|
|
@ -1737,3 +1737,21 @@ int nr_ice_component_get_default_candidate(nr_ice_component *comp, nr_ice_candid
|
|||
|
||||
}
|
||||
|
||||
|
||||
void nr_ice_component_dump_state(nr_ice_component *comp, int log_level)
|
||||
{
|
||||
nr_ice_candidate *cand;
|
||||
|
||||
if (comp->local_component) {
|
||||
r_log(LOG_ICE,log_level,"ICE(%s)/ICE-STREAM(%s): Remote component %d in state %d - dumping candidates",comp->ctx->label,comp->stream->label,comp->component_id,comp->state);
|
||||
} else {
|
||||
r_log(LOG_ICE,log_level,"ICE(%s)/ICE-STREAM(%s): Local component %d - dumping candidates",comp->ctx->label,comp->stream->label,comp->component_id);
|
||||
}
|
||||
|
||||
cand=TAILQ_FIRST(&comp->candidates);
|
||||
while(cand){
|
||||
r_log(LOG_ICE,log_level,"ICE(%s)/ICE-STREAM(%s)/CAND(%s): %s",comp->ctx->label,comp->stream->label,cand->codeword,cand->label);
|
||||
cand=TAILQ_NEXT(cand,entry_comp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -102,6 +102,7 @@ int nr_ice_component_get_default_candidate(nr_ice_component *comp, nr_ice_candid
|
|||
void nr_ice_component_consent_destroy(nr_ice_component *comp);
|
||||
void nr_ice_component_refresh_consent_now(nr_ice_component *comp);
|
||||
void nr_ice_component_disconnected(nr_ice_component *comp);
|
||||
void nr_ice_component_dump_state(nr_ice_component *comp, int log_level);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -383,7 +383,7 @@ static void nr_ice_media_stream_check_timer_cb(NR_SOCKET s, int h, void *cb_arg)
|
|||
NR_ASYNC_TIMER_SET(timer_val,nr_ice_media_stream_check_timer_cb,cb_arg,&stream->timer);
|
||||
}
|
||||
else {
|
||||
r_log(LOG_ICE,LOG_WARNING,"ICE-PEER(%s): no pairs for %s",stream->pctx->label,stream->label);
|
||||
r_log(LOG_ICE,LOG_INFO,"ICE-PEER(%s): no FROZEN/WAITING pairs for %s",stream->pctx->label,stream->label);
|
||||
}
|
||||
|
||||
_status=0;
|
||||
|
@ -557,28 +557,36 @@ int nr_ice_media_stream_unfreeze_pairs_foundation(nr_ice_media_stream *stream, c
|
|||
str=STAILQ_NEXT(str,entry);
|
||||
}
|
||||
|
||||
/* nr_ice_media_stream_dump_state(stream->pctx,stream,stderr); */
|
||||
|
||||
|
||||
_status=0;
|
||||
abort:
|
||||
return(_status);
|
||||
}
|
||||
|
||||
|
||||
int nr_ice_media_stream_dump_state(nr_ice_peer_ctx *pctx, nr_ice_media_stream *stream,FILE *out)
|
||||
void nr_ice_media_stream_dump_state(nr_ice_peer_ctx *pctx, nr_ice_media_stream *stream, int log_level)
|
||||
{
|
||||
nr_ice_cand_pair *pair;
|
||||
nr_ice_component *comp;
|
||||
|
||||
if(stream->local_stream){
|
||||
/* stream has a corresponding local_stream */
|
||||
nr_ice_media_stream_dump_state(stream->local_stream->pctx,stream->local_stream, log_level);
|
||||
r_log(LOG_ICE,log_level,"ICE-PEER(%s)/STREAM(%s): state dump", stream->pctx->label, stream->label);
|
||||
} else {
|
||||
r_log(LOG_ICE,log_level,"ICE(%s)/STREAM(%s): state dump", stream->ctx->label, stream->label);
|
||||
}
|
||||
|
||||
/* r_log(LOG_ICE,LOG_DEBUG,"MEDIA-STREAM(%s): state dump", stream->label); */
|
||||
pair=TAILQ_FIRST(&stream->check_list);
|
||||
while(pair){
|
||||
nr_ice_candidate_pair_dump_state(pair,out);
|
||||
|
||||
nr_ice_candidate_pair_dump_state(pair, log_level);
|
||||
pair=TAILQ_NEXT(pair,check_queue_entry);
|
||||
}
|
||||
|
||||
return(0);
|
||||
comp=STAILQ_FIRST(&stream->components);
|
||||
while(comp){
|
||||
nr_ice_component_dump_state(comp, log_level);
|
||||
comp=STAILQ_NEXT(comp,entry);
|
||||
}
|
||||
}
|
||||
|
||||
int nr_ice_media_stream_set_state(nr_ice_media_stream *str, int state)
|
||||
|
@ -604,6 +612,9 @@ int nr_ice_media_stream_set_state(nr_ice_media_stream *str, int state)
|
|||
str->pctx->label, str->pctx->active_streams);
|
||||
|
||||
str->ice_state=state;
|
||||
if (state == NR_ICE_MEDIA_STREAM_CHECKS_FAILED) {
|
||||
nr_ice_media_stream_dump_state(str->pctx,str,LOG_ERR);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
|
|
@ -93,7 +93,7 @@ int nr_ice_media_stream_start_checks(nr_ice_peer_ctx *pctx, nr_ice_media_stream
|
|||
int nr_ice_media_stream_service_pre_answer_requests(nr_ice_peer_ctx *pctx,nr_ice_media_stream *lstream,nr_ice_media_stream *pstream, int *serviced);
|
||||
int nr_ice_media_stream_unfreeze_pairs(nr_ice_peer_ctx *pctx, nr_ice_media_stream *stream);
|
||||
int nr_ice_media_stream_unfreeze_pairs_foundation(nr_ice_media_stream *stream, char *foundation);
|
||||
int nr_ice_media_stream_dump_state(nr_ice_peer_ctx *pctx, nr_ice_media_stream *stream,FILE *out);
|
||||
void nr_ice_media_stream_dump_state(nr_ice_peer_ctx *pctx, nr_ice_media_stream *stream, int log_level);
|
||||
void nr_ice_media_stream_component_nominated(nr_ice_media_stream *stream,nr_ice_component *component);
|
||||
void nr_ice_media_stream_component_failed(nr_ice_media_stream *stream,nr_ice_component *component);
|
||||
void nr_ice_media_stream_refresh_consent_all(nr_ice_media_stream *stream);
|
||||
|
|
|
@ -626,28 +626,18 @@ void nr_ice_peer_ctx_stream_started_checks(nr_ice_peer_ctx *pctx, nr_ice_media_s
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
int nr_ice_peer_ctx_dump_state(nr_ice_peer_ctx *pctx,FILE *out)
|
||||
void nr_ice_peer_ctx_dump_state(nr_ice_peer_ctx *pctx, int log_level)
|
||||
{
|
||||
int r,_status;
|
||||
nr_ice_media_stream *stream;
|
||||
|
||||
fprintf(out,"PEER %s STATE DUMP\n",pctx->label);
|
||||
fprintf(out,"==========================================\n");
|
||||
r_log(LOG_ICE,log_level,"PEER %s STATE DUMP",pctx->label);
|
||||
r_log(LOG_ICE,log_level,"==========================================");
|
||||
stream=STAILQ_FIRST(&pctx->peer_streams);
|
||||
while(stream){
|
||||
if(r=nr_ice_media_stream_dump_state(pctx,stream,out))
|
||||
ABORT(r);
|
||||
|
||||
stream=STAILQ_NEXT(stream,entry);
|
||||
nr_ice_media_stream_dump_state(pctx,stream,log_level);
|
||||
}
|
||||
fprintf(out,"==========================================\n");
|
||||
|
||||
_status=0;
|
||||
abort:
|
||||
return(_status);
|
||||
r_log(LOG_ICE,log_level,"==========================================");
|
||||
}
|
||||
#endif
|
||||
|
||||
void nr_ice_peer_ctx_refresh_consent_all_streams(nr_ice_peer_ctx *pctx)
|
||||
{
|
||||
|
|
|
@ -85,7 +85,7 @@ void nr_ice_peer_ctx_refresh_consent_all_streams(nr_ice_peer_ctx *pctx);
|
|||
void nr_ice_peer_ctx_disconnect_all_streams(nr_ice_peer_ctx *pctx);
|
||||
void nr_ice_peer_ctx_disconnected(nr_ice_peer_ctx *pctx);
|
||||
void nr_ice_peer_ctx_connected(nr_ice_peer_ctx *pctx);
|
||||
int nr_ice_peer_ctx_dump_state(nr_ice_peer_ctx *pctx,FILE *out);
|
||||
void nr_ice_peer_ctx_dump_state(nr_ice_peer_ctx *pctx, int log_level);
|
||||
int nr_ice_peer_ctx_log_state(nr_ice_peer_ctx *pctx);
|
||||
void nr_ice_peer_ctx_check_if_connected(nr_ice_peer_ctx *pctx);
|
||||
int nr_ice_peer_ctx_find_component(nr_ice_peer_ctx *pctx, nr_ice_media_stream *str, int component_id, nr_ice_component **compp);
|
||||
|
|
Загрузка…
Ссылка в новой задаче