Ronald S. Bultje <rsbul...@gmail.com> added the comment:

I think the relevant section is 8.2:

   "Although the probability of SSRC identifier collision is low, all RTP
   implementations MUST be prepared to detect collisions and take the
   appropriate actions to resolve them.  If a source discovers at any
   time that another source is using the same SSRC identifier as its
   own, it MUST send an RTCP BYE packet for the old identifier and
   choose another random one.  (As explained below, this step is taken
   only once in case of a loop.)  If a receiver discovers that two other
   sources are colliding, it MAY keep the packets from one and discard
   the packets from the other when this can be detected by different
   source transport addresses or CNAMEs.  The two sources are expected
   to resolve the collision so that the situation doesn't last."

I think it is proper to somehow put the source IP (as per recvfrom()) in the
private data, and add some internal API so we can look this up in
rtsp.c/rtpdec.c. This should then handle the ssrc collision here. Once that's
fixed, there no longer is an issue - the two streams have different ssrcs and
are thus distinguishable. No callback or application code is required.

_____________________________________________________
FFmpeg issue tracker <iss...@roundup.ffmpeg.org>
<https://roundup.ffmpeg.org/roundup/ffmpeg/issue1688>
_____________________________________________________

Reply via email to