rtspconnection: Start CSeq at 1
authorEike Hein <hein@kde.org>
Tue, 11 Jun 2019 19:45:09 +0000 (04:45 +0900)
committerEike Hein <hein@kde.org>
Wed, 12 Jun 2019 07:21:41 +0000 (16:21 +0900)
commit303f927d707a8625c6ce29eceebd09bab055d992
tree16d49f07f52a704e7c24eb3706b99d35d75d8ff2
parent2ea98270b46b59ef80f11cabda5a3143f37b31e4
rtspconnection: Start CSeq at 1

RFC 7826 recommends (but does not require) starting at 0,
but at least one known server implementation fails to copy
request sequence numbers <1 into responses due to an
incorrect null check.

The server known to exhibit this behavior is the Parrot
Streaming Server, serving video from their UAV devices.
A fix has been submitted upstream as well:
https://github.com/Parrot-Developers/librtsp/pull/2

The Parrot developers are known to have tested with LibVLC.
In WireShark debugging, LibVLC appears to start with a CSeq
of 2, which is likely why this bug went unnoticed.

This reverts 487595a7d6e2d, which set this to 0 citing the
RFC. The switch to 0 was thus a recent one; it's therefore
possible server implementors relied on the previous
GStreamer client behavior in their tests as well.

Fixes #624.
gst-libs/gst/rtsp/gstrtspconnection.c