Wireshark 4.7.2
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
tap-rtp-analysis.h
Go to the documentation of this file.
1
18
19#ifndef __TAP_RTP_ANALYSIS_H__
20#define __TAP_RTP_ANALYSIS_H__
21
22#include <epan/address.h>
23#include <epan/packet_info.h>
24
29
30#ifdef __cplusplus
31extern "C" {
32#endif /* __cplusplus */
33
34/****************************************************************************/
38typedef struct _bw_history_item {
39 double time;
40 uint32_t bytes;
42
43
44#define BUFF_BW 300
45
46
50typedef struct _tap_rtp_stat_t {
52 /* All fields below are valid only after rtppacket_analyse() has been called. */
53 uint32_t flags;
54 uint16_t seq_num;
55 uint64_t timestamp;
56 uint64_t seq_timestamp;
57 double bandwidth;
59 uint16_t bw_start_index;
60 uint16_t bw_index;
61 uint32_t total_bytes;
62 uint32_t clock_rate;
63 double delta;
64 double jitter;
65 double diff;
66 double skew;
67 double sumt;
68 double sumTS;
69 double sumt2;
70 double sumtTS;
71 double time;
72 double start_time;
75 double min_delta;
76 double max_delta;
77 double mean_delta;
78 double min_jitter;
79 double max_jitter;
80 double max_skew;
81 double mean_jitter;
82 uint32_t max_nr;
83 uint32_t start_seq_nr;
84 uint32_t stop_seq_nr;
85 uint32_t total_nr;
86 uint32_t sequence;
87 uint16_t pt;
88 int reg_pt;
92
101
102#define PT_UNDEFINED -1
103
104/* status flags for the flags parameter in tap_rtp_stat_t */
105#define STAT_FLAG_FIRST 0x001
106#define STAT_FLAG_MARKER 0x002
107#define STAT_FLAG_WRONG_SEQ 0x004
108#define STAT_FLAG_PT_CHANGE 0x008
109#define STAT_FLAG_PT_CN 0x010
110#define STAT_FLAG_FOLLOW_PT_CN 0x020
111#define STAT_FLAG_REG_PT_CHANGE 0x040
112#define STAT_FLAG_WRONG_TIMESTAMP 0x080
113#define STAT_FLAG_PT_T_EVENT 0x100
114#define STAT_FLAG_DUP_PKT 0x200
115
116/* forward */
117struct _rtp_info;
118
119/* function for analysing an RTP packet. Called from rtp_analysis and rtp_streams */
120
128extern void rtppacket_analyse(tap_rtp_stat_t *statinfo,
129 const packet_info *pinfo,
130 const struct _rtp_info *rtpinfo);
131
132#ifdef __cplusplus
133}
134#endif /* __cplusplus */
135
136#endif /* __TAP_RTP_ANALYSIS_H__ */
struct _packet_info packet_info
Represents the metadata and indexing information for a single captured frame.
Records a single bandwidth history sample for an RTP stream at a point in time.
Definition tap-rtp-analysis.h:38
uint32_t bytes
Definition tap-rtp-analysis.h:40
double time
Definition tap-rtp-analysis.h:39
Definition packet-rtp.h:29
Holds the minimal per-packet data needed when saving an RTP stream's payload to file.
Definition tap-rtp-analysis.h:96
uint32_t timestamp
Definition tap-rtp-analysis.h:97
size_t payload_len
Definition tap-rtp-analysis.h:99
unsigned int payload_type
Definition tap-rtp-analysis.h:98
Accumulates per-packet statistics for an RTP stream delivered via the tap interface.
Definition tap-rtp-analysis.h:50
uint32_t start_seq_nr
Definition tap-rtp-analysis.h:83
double sumtTS
Definition tap-rtp-analysis.h:70
double time
Definition tap-rtp-analysis.h:71
double mean_delta
Definition tap-rtp-analysis.h:77
uint16_t bw_start_index
Definition tap-rtp-analysis.h:59
double max_jitter
Definition tap-rtp-analysis.h:79
double mean_jitter
Definition tap-rtp-analysis.h:81
double lastarrivaltime
Definition tap-rtp-analysis.h:74
uint32_t first_packet_num
Definition tap-rtp-analysis.h:89
uint16_t seq_num
Definition tap-rtp-analysis.h:54
uint16_t pt
Definition tap-rtp-analysis.h:87
double max_skew
Definition tap-rtp-analysis.h:80
uint32_t total_bytes
Definition tap-rtp-analysis.h:61
uint32_t clock_rate
Definition tap-rtp-analysis.h:62
uint32_t total_nr
Definition tap-rtp-analysis.h:85
double sumTS
Definition tap-rtp-analysis.h:68
double sumt2
Definition tap-rtp-analysis.h:69
uint32_t flags
Definition tap-rtp-analysis.h:53
bool first_packet
Definition tap-rtp-analysis.h:51
double max_delta
Definition tap-rtp-analysis.h:76
bw_history_item bw_history[300]
Definition tap-rtp-analysis.h:58
double diff
Definition tap-rtp-analysis.h:65
uint64_t timestamp
Definition tap-rtp-analysis.h:55
double min_delta
Definition tap-rtp-analysis.h:75
double delta
Definition tap-rtp-analysis.h:63
double skew
Definition tap-rtp-analysis.h:66
double start_time
Definition tap-rtp-analysis.h:72
double sumt
Definition tap-rtp-analysis.h:67
double jitter
Definition tap-rtp-analysis.h:64
uint16_t bw_index
Definition tap-rtp-analysis.h:60
unsigned last_payload_len
Definition tap-rtp-analysis.h:90
uint32_t sequence
Definition tap-rtp-analysis.h:86
uint32_t max_nr
Definition tap-rtp-analysis.h:82
uint32_t stop_seq_nr
Definition tap-rtp-analysis.h:84
double lastnominaltime
Definition tap-rtp-analysis.h:73
uint64_t seq_timestamp
Definition tap-rtp-analysis.h:56
double bandwidth
Definition tap-rtp-analysis.h:57
double min_jitter
Definition tap-rtp-analysis.h:78
int reg_pt
Definition tap-rtp-analysis.h:88
#define BUFF_BW
Definition tap-rtp-analysis.h:44
struct _tap_rtp_save_data_t tap_rtp_save_data_t
Holds the minimal per-packet data needed when saving an RTP stream's payload to file.
void rtppacket_analyse(tap_rtp_stat_t *statinfo, const packet_info *pinfo, const struct _rtp_info *rtpinfo)
Analyzes an RTP packet and updates statistics.
Definition tap-rtp-analysis.c:163
struct _tap_rtp_stat_t tap_rtp_stat_t
Accumulates per-packet statistics for an RTP stream delivered via the tap interface.
struct _bw_history_item bw_history_item
Records a single bandwidth history sample for an RTP stream at a point in time.