Add metric for number of packets discarded by JB due to not being decodable

Also fixes a couple of bugs related to sequence number wrap found while
testing.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/218001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@732 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org
2011-10-13 07:35:37 +00:00
parent 77d7d5455e
commit 4c059d87b3
12 changed files with 305 additions and 164 deletions

View File

@ -42,22 +42,22 @@ public:
VCMFrameBufferStateEnum GetState(WebRtc_UWord32& timeStamp) const;
void SetState(VCMFrameBufferStateEnum state); // Set state of frame
bool IsRetransmitted();
bool IsSessionComplete();
bool HaveLastPacket();
bool IsRetransmitted() const;
bool IsSessionComplete() const;
bool HaveLastPacket() const;
bool ForceSetHaveLastPacket();
// Makes sure the session contain a decodable stream.
void MakeSessionDecodable();
// Sequence numbers
// Get lowest packet sequence number in frame
WebRtc_Word32 GetLowSeqNum();
WebRtc_Word32 GetLowSeqNum() const;
// Get highest packet sequence number in frame
WebRtc_Word32 GetHighSeqNum();
WebRtc_Word32 GetHighSeqNum() const;
// Set counted status (as counted by JB or not)
void SetCountedFrame(bool frameCounted);
bool GetCountedFrame();
bool GetCountedFrame() const;
// NACK
// Zero out all entries in list up to and including _lowSeqNum
@ -76,6 +76,10 @@ public:
WebRtc_Word32 ExtractFromStorage(const EncodedVideoData& frameFromStorage);
// The number of packets discarded because the decoder can't make use of
// them.
int NotDecodablePackets() const;
protected:
void RestructureFrameInformation();
void PrepareForDecode();