diff options
author | Ryan Martell <rdm4@martellventures.com> | 2006-11-03 07:55:57 +0000 |
---|---|---|
committer | Guillaume Poirier <gpoirier@mplayerhq.hu> | 2006-11-03 07:55:57 +0000 |
commit | 4a6cc06123d969fe3214ff874bc87c1aec529143 (patch) | |
tree | bbd9c958081d74727cb643e6f092e810dca2f8b0 /libavformat/rtp_internal.h | |
parent | a21711022e893919654a9cdbd26c4bd50b5b3f41 (diff) | |
download | ffmpeg-4a6cc06123d969fe3214ff874bc87c1aec529143.tar.gz |
add valid statistics for the RTCP receiver report.
Basically taken verbatim from RFC 1889.
Patch by Ryan Martell % rdm4 A martellventures P com %
Original thread:
Date: Oct 31, 2006 12:43 AM
Subject: [Ffmpeg-devel] [PATCH] RTCP valid receiver statistics....
Originally committed as revision 6879 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/rtp_internal.h')
-rw-r--r-- | libavformat/rtp_internal.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libavformat/rtp_internal.h b/libavformat/rtp_internal.h index 953051156b..3edcf49c8a 100644 --- a/libavformat/rtp_internal.h +++ b/libavformat/rtp_internal.h @@ -23,6 +23,21 @@ #ifndef RTP_INTERNAL_H #define RTP_INTERNAL_H +// these statistics are used for rtcp receiver reports... +typedef struct { + uint16_t max_seq; ///< highest sequence number seen + uint32_t cycles; ///< shifted count of sequence number cycles + uint32_t base_seq; ///< base sequence number + uint32_t bad_seq; ///< last bad sequence number + 1 + int probation; ///< sequence packets till source is valid + int received; ///< packets received + int expected_prior; ///< packets expected in last interval + int received_prior; ///< packets received in last interval + uint32_t transit; ///< relative transit time for previous packet + uint32_t jitter; ///< estimated jitter. +} RTPStatistics; + + typedef int (*DynamicPayloadPacketHandlerProc) (struct RTPDemuxContext * s, AVPacket * pkt, uint32_t *timestamp, @@ -64,6 +79,8 @@ struct RTPDemuxContext { URLContext *rtp_ctx; char hostname[256]; + RTPStatistics statistics; ///< Statistics for this stream (used by RTCP receiver reports) + /* rtcp sender statistics receive */ int64_t last_rtcp_ntp_time; // TODO: move into statistics int64_t first_rtcp_ntp_time; // TODO: move into statistics @@ -87,5 +104,7 @@ struct RTPDemuxContext { }; extern RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler; + +int rtsp_next_attr_and_value(const char **p, char *attr, int attr_size, char *value, int value_size); ///< from rtsp.c, but used by rtp dynamic protocol handlers. #endif /* RTP_INTERNAL_H */ |