|
|
|
@ -374,7 +374,7 @@ void packet_process(stream_t *stream, unsigned char *buf, unsigned len) {
|
|
|
|
// insert into ssrc queue
|
|
|
|
// insert into ssrc queue
|
|
|
|
ssrc_t *ssrc = ssrc_get(stream, ssrc_num);
|
|
|
|
ssrc_t *ssrc = ssrc_get(stream, ssrc_num);
|
|
|
|
if (!ssrc) // stream shutdown
|
|
|
|
if (!ssrc) // stream shutdown
|
|
|
|
goto skip;
|
|
|
|
goto out;
|
|
|
|
if (packet_sequencer_insert(&ssrc->sequencer, &packet->p) < 0) {
|
|
|
|
if (packet_sequencer_insert(&ssrc->sequencer, &packet->p) < 0) {
|
|
|
|
dbg("skipping dupe packet (new seq %i prev seq %i)", packet->p.seq, ssrc->sequencer.seq);
|
|
|
|
dbg("skipping dupe packet (new seq %i prev seq %i)", packet->p.seq, ssrc->sequencer.seq);
|
|
|
|
goto skip;
|
|
|
|
goto skip;
|
|
|
|
@ -387,6 +387,7 @@ void packet_process(stream_t *stream, unsigned char *buf, unsigned len) {
|
|
|
|
|
|
|
|
|
|
|
|
skip:
|
|
|
|
skip:
|
|
|
|
pthread_mutex_unlock(&ssrc->lock);
|
|
|
|
pthread_mutex_unlock(&ssrc->lock);
|
|
|
|
|
|
|
|
out:
|
|
|
|
packet_free(packet);
|
|
|
|
packet_free(packet);
|
|
|
|
log_info_ssrc = 0;
|
|
|
|
log_info_ssrc = 0;
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|