summaryrefslogtreecommitdiff
path: root/libavformat/rtp_internal.h
diff options
context:
space:
mode:
authorRyan Martell <rdm4@martellventures.com>2006-11-03 07:55:57 +0000
committerGuillaume Poirier <gpoirier@mplayerhq.hu>2006-11-03 07:55:57 +0000
commit4a6cc06123d969fe3214ff874bc87c1aec529143 (patch)
treebbd9c958081d74727cb643e6f092e810dca2f8b0 /libavformat/rtp_internal.h
parenta21711022e893919654a9cdbd26c4bd50b5b3f41 (diff)
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.h19
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 */