Opened 2 years ago
#9657 new defect
SSRC change on an RTP stream should lead to BYE
Reported by: | do_coredump | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | 4.0.6 | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
when receiving an elementary live video stream (e.g. h264) and the sender of the stream restarts, then the receiving ffmpeg entity ignores all incoming packets due to a different SSRC. This is bad when the sender is an embedded system which might restart any time.
I propose to return RTP_BYE in case a different SSRC is received by the demuxer in ffmpeg
Claus
How to reproduce:
SDP file : ----------------- v=0 t=0 0 m=video 35004 RTP/AVP 96 c=IN IP4 127.0.0.1 a=rtpmap:96 H264/90000 ------------------ * run a receiving ffmpeg instance ** ffmpeg -protocol_whitelist udp,file,crypto,rtp -i foo.sdp -vcodec copy -acodec copy foo.mp4 * run an ffmpeg version that creates an RTP stream ** ffmpeg -re -i /tmp/sd.mp4 -vcodec copy -an -f rtp rtp:/127.0.0.1:35004 * kill this instance and restart it (without restarting the receiver) ** ffmpeg -re -i /tmp/sd.mp4 -vcodec copy -an -f rtp rtp:/127.0.0.1:35004 Output on the receiving instance: output on the first receiving instance (relevant output only) : [sdp @ 0x55a8cba18780] RTP: dropping old packet received too late Last message repeated 528 times built on ffmpeg version origin/release/4.0
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Note:
See TracTickets
for help on using tickets.