27 #ifndef OPAL_RTP_METRICS_H 28 #define OPAL_RTP_METRICS_H 59 unsigned payloadBitrate
79 typedef struct TimePeriod {
81 PTimeInterval duration;
87 typedef struct IdPeriod {
88 PTimeInterval duration;
95 typedef struct IePeriod {
97 PTimeInterval duration;
115 void OnPacketReceived();
119 void OnPacketDiscarded();
133 void OnRxSenderReport(
144 BYTE GetDiscardRate();
149 BYTE GetBurstDensity();
154 BYTE GetGapDensity();
159 PUInt16b GetBurstDuration();
164 PUInt16b GetGapDuration();
169 PUInt16b GetRoundTripDelay ();
173 PUInt16b GetEndSystemDelay();
192 void InsertExtendedReportPacket(
199 static RTP_Session::ExtendedReportArray
218 void ResetCounters();
228 BYTE EndOfCallRFactor();
240 float EndOfCallMOS();
248 float GetPonderateId();
258 float GetEndOfCallIe();
262 float GetPonderateIe();
266 TimePeriod createTimePeriod(
268 PTime beginTimestamp,
274 IdPeriod createIdPeriod(
275 PTime beginTimestamp,
281 IePeriod createIePeriod(
282 TimePeriod timePeriod
288 float m_lookAheadTime;
289 PINDEX m_payloadSize;
290 unsigned m_payloadBitrate;
294 DWORD m_packetsReceived;
295 DWORD m_packetsSinceLastLoss;
297 DWORD m_packetsDiscarded;
298 DWORD m_srPacketsReceived;
300 DWORD m_packetsReceivedInGap;
301 DWORD m_packetsLostInGap;
303 DWORD m_packetsReceivedInBurst;
304 DWORD m_packetsLostInBurst;
327 PTimeInterval m_dlsrTime;
334 std::list<TimePeriod> m_timePeriods;
335 std::list<IePeriod> m_iePeriods;
336 std::list<IdPeriod> m_idPeriods;
338 PeriodType m_currentPeriodType;
339 PTime m_periodBeginTimestamp;
340 PTime m_lastLossTimestamp;
341 PTime m_lastLossInBurstTimestamp;
342 PTime m_lastJitterBufferChangeTimestamp;
347 #endif // OPAL_RTCP_XR 349 #endif // OPAL_METRICS_H
PSafePtr< RTP_JitterBuffer, PSafePtrMultiThreaded > JitterBufferPtr
Definition: rtp.h:1005