rtmppkt: Handle extended timestamp field even for one-byte header

Related fix in "rtmpdump":
https://repo.or.cz/w/rtmpdump.git/commitdiff/79459a2

Adobe's RTMP specification (21 Dec 2012), section 5.3.1.3 ("Extended
Timestamp"), says "this field is present in Type 3 chunks". Type 3 chunks are
those with the one-byte header size.

This resolves intermittent hangs and segfaults caused by the read function,
and also includes an untested fix for the write function.

The read function was tested with ABC (Australia) News 24 streams, however
they are probably restricted to only Australian internet addresses. Some of
the packets at the start of these streams seem to contain junk timestamp
fields, often requiring the extended field. Test command:

avplay rtmp://cp81899.live.edgefcs.net/live/news24-med@28772

Signed-off-by: Martin Storsjö <martin@martin.st>
rtmppkt: Add a descriptive comment

Signed-off-by: Martin Storsjö <martin@martin.st>
rtmppkt: Properly handle extended timestamps when writing

Signed-off-by: Martin Storsjö <martin@martin.st>
rtmppkt: Rename the ts_delta field to ts_field

Based on a suggestion by Martin Panter. This is more descriptive,
since it's the actual timestamp field from the RTMP packet,
which might or might not be a delta depending on context (in
some packets it's a delta, in some packets it's an absolute
timestamp, and in some packets it's 0xffffff to indicate that
the actual delta or absolute timestamp is transmitted separately).

Signed-off-by: Martin Storsjö <martin@martin.st>