2013-11-05 18:03:48 +00:00
|
|
|
RTP collision design
|
|
|
|
|
|
|
|
|
|
|
|
GstRTPCollision
|
|
|
|
---------------
|
|
|
|
|
|
|
|
Custon upstream event which contains the ssrc marked as collided.
|
|
|
|
|
|
|
|
This event is generated on both pipeline sender and receiver side by
|
|
|
|
the gstrtpsession element when it detects a conflict between ssrc.
|
|
|
|
(same session id and same ssrc)
|
|
|
|
|
|
|
|
It's an upstream event so that means this event is for now only
|
2013-12-12 15:01:10 +00:00
|
|
|
useful on pipeline sender side. Because elements generating packets with the
|
|
|
|
collided SSRC are placed upstream from the gstrtpsession.
|
2013-11-05 18:03:48 +00:00
|
|
|
|
|
|
|
rtppayloader
|
|
|
|
------------
|
|
|
|
|
|
|
|
When handling a GstRTPCollision event, the rtppayloader has to choose another
|
2013-12-12 15:01:10 +00:00
|
|
|
ssrc.
|
|
|
|
|
2013-11-05 18:03:48 +00:00
|
|
|
|
|
|
|
BYE only the corresponding source, not the whole session.
|
|
|
|
---------------------------------------------------------
|
|
|
|
|
|
|
|
When a collision happens for the given ssrc, the associated source is marked
|
|
|
|
bye. But we make sure that the whole session is not itself set bye.
|
|
|
|
Because internally, gstrtpsession can manages several sources and all have
|
|
|
|
their own distinct ssrc.
|