Commit 3e3e4050 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

RTP: set the discontinuity flag as appropriate

parent 2487f4b1
......@@ -141,6 +141,7 @@ struct rtp_source_t
uint16_t bad_seq; /* tentatively next expected sequence for resync */
uint16_t max_seq; /* next expected sequence */
uint16_t last_seq; /* sequence of the last dequeued packet */
block_t *blocks; /* re-ordered blocks queue */
void *opaque[0]; /* Per-source private payload data */
};
......@@ -160,6 +161,7 @@ rtp_source_create (demux_t *demux, const rtp_session_t *session,
source->ssrc = ssrc;
source->max_seq = source->bad_seq = init_seq;
source->last_seq = init_seq - 1;
source->blocks = NULL;
/* Initializes all payload */
......@@ -324,6 +326,11 @@ rtp_decode (demux_t *demux, const rtp_session_t *session, rtp_source_t *src)
src->blocks = block->p_next;
block->p_next = NULL;
/* Discontinuity detection */
if (((src->last_seq + 1) & 0xffff) != rtp_seq (block))
block->i_flags |= BLOCK_FLAG_DISCONTINUITY;
src->last_seq = rtp_seq (block);
/* Match the payload type */
const rtp_pt_t *pt = NULL;
void *pt_data = NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment