OSDN Git Service

rtmppkt: Handle extended timestamp field even for one-byte header
authorMartin Panter <vadmium@gmail.com>
Wed, 5 Mar 2014 04:04:39 +0000 (04:04 +0000)
committerMartin Storsjö <martin@martin.st>
Fri, 7 Mar 2014 08:43:26 +0000 (10:43 +0200)
commit5b2ad78f97d43299adcb038c04346999fe9b196c
treeac48a732149d21f3ea0d071b414e4010aba9a921
parent93d216d37a3f95190ecb9d51cf72f54ea4e04ec7
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>
libavformat/rtmppkt.c
libavformat/rtmppkt.h