rtsp-stream: Use seqnum-offset for rtpinfo
authorLinus Svensson <linussn@axis.com>
Tue, 6 Nov 2018 17:21:54 +0000 (18:21 +0100)
committerSebastian Dröge <slomo@coaxion.net>
Wed, 14 Nov 2018 12:29:58 +0000 (12:29 +0000)
commit185385924d458261a35178221f3c230f730dba70
tree1f07ed2cccfbe741586979b8761fcbaae9afdc6f
parent1c4d3b36fbb8ac95e056bbae6a08bb67c429047c
rtsp-stream: Use seqnum-offset for rtpinfo

The sequence number in the rtpinfo is supposed to be the first RTP
sequence number. The "seqnum" property on a payloader is supposed to be
the number from the last processed RTP packet. The sequence number for
payloaders that inherit gstrtpbasepayload will not be correct in case of
buffer lists. In order to fix the seqnum property on the payloaders
gst-rtsp-server must get the sequence number for rtpinfo elsewhere and
"seqnum-offset" from the "stats" property contains the value of the
very first RTP packet in a stream. The server will, however, try to look
at the last simple in the sink element and only use properties on the
payloader in case there no sink elements yet, and by looking at the last
sample of the sink gives the server full control of which RTP packet it
looks at. If the payloader does not have the "stats" property, "seqnum"
is still used since "seqnum-offset" is only present in as part of
"stats" and this is still an issue not solved with this patch.

Needed for gst-plugins-base!17
gst/rtsp-server/rtsp-stream.c