Commit Graph

51 Commits

Author SHA1 Message Date
603175a395 Improve comments.
Use the current parameter names in the comment for SetNackMode().

Add a warning comment about the lifetime of the return value of
GetNackList().

R=stefan@webrtc.org
BUG=none
TEST=none

Review URL: https://webrtc-codereview.appspot.com/52599004

Cr-Commit-Position: refs/heads/master@{#9321}
2015-05-28 21:10:20 +00:00
6a1ba8c17f Fix coding style nits.
uint32_t parameters don't need to be passed by reference. The
VCMJitterBuffer destructor doesn't need to be virtual because the
class has no virtual methods.

R=stefan@webrtc.org
BUG=none

Review URL: https://webrtc-codereview.appspot.com/55499004

Cr-Commit-Position: refs/heads/master@{#9288}
2015-05-26 21:11:46 +00:00
e4cb4e9aae Fix jitter buffer bug around out-of-order packets and non-RTX padding.
tl;dr - non-continuous frames (due to padding) would get stuck as incomplete if the previous complete frame arrived and was decoded before the padding arrived.This fix re-checks the incomplete frame list for continuous frames after old packets arrive.

When padding is enabled and RTX is not, padding is sent as empty RTP packets tacked onto the end of completed frames (meaning: same timestamp, but after a packet with the marker bit set). Given the following set of circumstances, codified in the new unit test method, a frame can get permanently stuck in the incomplete frames list:

- Frame A decoded (packets 94-95). Next expected sequence number is 96.
- Frame C arrives (packets 100-101) and is marked complete. It isn't continuous, since it starts at 100, so it's placed in the incomplete frame list.
- Frame B arrives (packets 96-97) and is complete, since 97 has a marker bit.  Turns out that packets 98-99 are padding, but the receiver doesn't know that.
- Frame B is decoded, removed from the decodable frames list, and last decoded state is updated.
- Packets 98-99 arrive. They hit the IsOldPacket check and update the last decoded state, but they don't trigger FindAndInsertContinuousFrames.
- Further packets/frames arrive and complete, but FindAndInsertContinuousFrames only runs on frames that are newer than the newly completed frame.

In this state, Frame C is permanently stuck as incomplete, so the jitter buffer overall is stuck until max NACK age (default: 450 packets), the max NACK list size (default: 200 packets), or a keyframe arrives and IsContinuous returns true for the keyframe.

(Before the November refactoring, Frame B wouldn't have to have been decoded for the bug to trigger; just having a complete continuous frame at any time before the padding arrived would cause this state, as FindAndInsertContinuousFrames was only called when the frame originally became continuous and was inserted into the decodable frames list. Post refactoring, the frame is removed/re-added to the decodable list on every padding packet that arrives)

BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50959004

Cr-Commit-Position: refs/heads/master@{#9264}
2015-05-22 21:03:08 +00:00
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36229004

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
16825b1a82 Use int64_t more consistently for times, in particular for RTT values.
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t.  Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, holmer@google.com, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31349004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
5570769210 Remove the last getters from VideoReceiveStream stats.
R=stefan@webrtc.org
BUG=1667

Review URL: https://webrtc-codereview.appspot.com/32899004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7965 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 15:45:03 +00:00
ce4e9a3562 Refactor some receive-side stats.
Removes polling of CName as well as receive codec statistics in favor of
internal callbacks keeping a statistics struct up to date.

R=mflodman@webrtc.org, stefan@webrtc.org
BUG=1667

Review URL: https://webrtc-codereview.appspot.com/28259005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7950 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 13:50:16 +00:00
83b5200f95 Add framerate for complete received frames to histogram stats:
"WebRTC.Video.CompleteFramesReceivedPerSecond".

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32089004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7762 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-28 10:17:13 +00:00
4f16c874c6 Simplifying VideoReceiver and JitterBuffer.
Removing frame_buffers_ array and dual-receiver mechanism. Also adding
some thread annotations to VCMJitterBuffer.

R=stefan@webrtc.org
BUG=4014

Review URL: https://webrtc-codereview.appspot.com/27239004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7735 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-24 09:06:48 +00:00
96dc685143 Add stats for video:
- number of sent/received RTCP NACK/FIR/PLI per minute
- percentage of unique sent/received NACK requests
- percentage of discarded/duplicated packets by the jitter buffer
- permille of sent/received key frames

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 14:40:38 +00:00
88fbb2d86b Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
Same as https://webrtc-codereview.appspot.com/19519004. The issue in
http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Linux...
is solved by this change
http://src.chromium.org/viewvc/chrome/trunk/src/third_party/libjingle/libjing...
(tested locally).

BUG=3380
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17619005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6218 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 21:18:46 +00:00
2fa7f79094 Revert 6202 "Switch to using base/constructormagic.h and remove ..."
> Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
> 
> BUG=N/A
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/19519004

TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14579007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6210 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 11:07:29 +00:00
125ffd709d Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6202 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 15:20:44 +00:00
34c5da6b5e Cleaned up logging in video_coding.
Converted all calls to WEBRTC_TRACE to LOG(). Also removed a large number of less useful logs.

BUG=3153
R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11169004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5887 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 14:08:35 +00:00
71f055fb41 Add send frame rate statistics callback
BUG=2235
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4479005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 15:09:27 +00:00
3c5a9242fe Don't force cont' when enabling kWithErrors
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2047004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4669 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 20:45:36 +00:00
2b810bf77b Removing non decodable count from session info: This value isn't used, and therfore can be removed. This is a step towards the refactor of the session info to use maps.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2143004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4667 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 19:09:49 +00:00
dbf6a81cb5 Follow-up changes to kSelectiveErrors
Committing cl for agalusza (cl 1992004)
TEST = trybots
R=marpan@google.com

Review URL: https://webrtc-codereview.appspot.com/2085004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4587 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:40:47 +00:00
d177c10e2d Added logic for kSelectiveErrors to VCMJitterBuffer and corresponding unit tests.
R=marpan@google.com, mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1943004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4503 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 01:12:33 +00:00
a7e360e89b Removed lines preventing simultaneous kHardNack and decoding with errors. Also made changes recommended by gcl lint (with the exception of changing non-const references to pointers).
Propagated orthogonal API for decoding with errors from VideoCodingModule to VCMJitterBuffer.
Modified VCMJitterBuffer to allow three error modes: kNoErrors, kSelectiveErrors, kWithErrors.

R=marpan@google.com, mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1846004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4463 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 03:15:08 +00:00
d818dcb939 Sets up framework for decoding with errors: collects frame sizes (in number of packets) in JB and passes this information to VCMSessionInfo with rtt_ms as FrameData.
R=marpan@google.com, mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1841004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4424 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 21:48:11 +00:00
4cf1a8af69 Removes kStateFree and kStateDecoding, added a free_frames_ list which simplifies finding a free frame.
The idea is to have all frames not in use be stored in free_frames_, and whenever a packet from a new frame arrives we can just pop a frame from free_frames_. When a frame is grabbed for decoding it will be removed from all lists, and will be added to free_frames_ when it's returned to the jitter buffer.

We should be able to remove the state enum completely later, as their state is defined by the list they are in. But I'll keep it around for now to simplify the cl.

TEST=try bots and vie_auto_test --automated
R=mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1721004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4273 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 15:20:14 +00:00
9ca7360b97 VCM: removing max jitter estimate
BUG= 1921
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1690004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4249 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-20 20:13:07 +00:00
50fb4afade Revert r4145 "Revert 4127 "Switch frame list implementation to std::map.""
TBR=tnakamura@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1678004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4233 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-17 07:33:58 +00:00
c8b29a2feb Revert r4146 "Revert 4104 "Refactor jitter buffer to use separate lists for de...""
TBR=tnakamura@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1677004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4232 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-17 07:13:16 +00:00
694cdc6e84 Revert 4104 "Refactor jitter buffer to use separate lists for de..."
Reason - leading suspect of video frame corruption tracked in http://b/9216252
Note that if this turns out to not be the cause, be sure to re-revert both this change and r4145.

> Refactor jitter buffer to use separate lists for decodable and incomplete frames.
> 
> This changes the design of the jitter buffer to keeping track of decodable frames from the point when packets are inserted in the buffer, instead of searching for decodable frames when they are needed.
> 
> To accomplish this the frame_list_, which previously contained all frames (incomplete or complete, continuous or not), is split into a list of decodable_frames_ (complete, continuous) and a list of incomplete_frames_ (either incomplete or non-continuous). These frame lists are updated every time a packet is inserted.
> 
> This is another step in the direction of doing most of the work in the jitter buffer only once, when packets are inserted, instead of doing it every time we look for a frame or try to get a nack list.
> 
> BUG=1798
> TEST=vie_auto_test, trybots
> R=mikhal@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1522005

TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1586007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4146 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-31 16:09:48 +00:00
4d9c07ad6d Revert 4127 "Switch frame list implementation to std::map."
We want to revert r4104 for b/9216252, but because r4127 was built on top of r4104, we need to revert r4127 first. We'll un/re-revert this if we discover that r4104 is not to blame.


> Switch frame list implementation to std::map.
> 
> This reduces the complexity of insert and find (by timestamp) from linear to logarithmic, which has a big impact on large frame lists.
> 
> BUG=1726
> TEST=trybots, vie_auto_test --automated
> R=mikhal@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1561005

TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1590005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4145 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-31 16:06:01 +00:00
ace7ad2302 Switch frame list implementation to std::map.
This reduces the complexity of insert and find (by timestamp) from linear to logarithmic, which has a big impact on large frame lists.

BUG=1726
TEST=trybots, vie_auto_test --automated
R=mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1561005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4127 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 07:41:48 +00:00
7f3f8bc5a6 Refactor jitter buffer to use separate lists for decodable and incomplete frames.
This changes the design of the jitter buffer to keeping track of decodable frames from the point when packets are inserted in the buffer, instead of searching for decodable frames when they are needed.

To accomplish this the frame_list_, which previously contained all frames (incomplete or complete, continuous or not), is split into a list of decodable_frames_ (complete, continuous) and a list of incomplete_frames_ (either incomplete or non-continuous). These frame lists are updated every time a packet is inserted.

This is another step in the direction of doing most of the work in the jitter buffer only once, when packets are inserted, instead of doing it every time we look for a frame or try to get a nack list.

BUG=1798
TEST=vie_auto_test, trybots
R=mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1522005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4104 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 07:02:45 +00:00
3417eb49f6 Consolidate GetFrame and InsertPacket and move NACK list processing to after a packet has been successfully inserted.
TEST=trybots
BUG=1799
R=mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1509004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4080 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 15:25:53 +00:00
ef14488d03 Trigger a PLI if the duration of non-decodable frames exceeds a threshold.
BUG=1663
R=mikhal@webrtc.org, ronghuawu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/1359004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3975 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 19:16:33 +00:00
759b041019 Relanding r3952: VCM: Updating receiver logic
BUG=r1734
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1433004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3970 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 16:36:00 +00:00
4ce19b1664 Revert r3952 "VCM: Updating receiver logic"
TBR=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1410005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3963 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-06 13:16:51 +00:00
d3cd565ecf VCM: Updating receiver logic
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1363005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3952 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-03 17:54:18 +00:00
6faba6edc9 VCM: Setting buffering delay in timing
Review URL: https://webrtc-codereview.appspot.com/1338004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3921 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 15:39:34 +00:00
381da4be9c VCM: Adding API for the size(duration) of the jitter buffer.
Refers to the duration in time of the frames which are ready to be sent to the decoder.

Review URL: https://webrtc-codereview.appspot.com/1319004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3903 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-25 21:45:29 +00:00
8392cd9edd VCM/JB: Using last decoded state for waiting for key
relanding 1323006

BUG=

Review URL: https://webrtc-codereview.appspot.com/1354004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3902 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-25 21:30:50 +00:00
dc3cd217b2 VCM/JB: FrameForDecoding->IncompleteFrameForDecoding
- Update complete frame for decoding
- Remove FrameForDecodingNack

This CL should only be committed after issue http://webrtc-codereview.appspot.com/1313007/

Review URL: https://webrtc-codereview.appspot.com/1316007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3901 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-25 20:27:04 +00:00
df9c0e5ec9 Revert 3892 "VCM/JB: Using last decoded state for waiting for key"
> VCM/JB: Using last decoded state for waiting for key
> 
> Review URL: https://webrtc-codereview.appspot.com/1323006

Although I have no idea why, it appears this might be causing failures in ViEStandardIntegrationTest.RunsFileTestWithoutErrors. I was unable to reproduce locally. This is a trial revert to verify. If the errors continue to happen, I will restore this change.

TBR=mikhal@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1321010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3896 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-24 02:13:18 +00:00
1248d4effc VCM/JB: Using last decoded state for waiting for key
Review URL: https://webrtc-codereview.appspot.com/1323006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3892 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-23 20:57:06 +00:00
d6bd7cd2b1 removing redundant calls to cleanframes
Review URL: https://webrtc-codereview.appspot.com/1318004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3844 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-12 17:09:51 +00:00
9da751715f VCM/JB:Removing hybrid and setting a decodable state.
Review URL: https://webrtc-codereview.appspot.com/1283004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3834 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-11 18:49:13 +00:00
7bc465bd21 Fix issues with incorrect wrap checks when having big buffers and high bitrate.
Introduces shared functions for timestamp and sequence number wrap checks.

BUG=1607
TESTS=trybots

Review URL: https://webrtc-codereview.appspot.com/1291005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3833 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-11 17:48:02 +00:00
7b859cc1e9 Webrtc_Word32 => int32_t in video_coding/main/
BUG=

Review URL: https://webrtc-codereview.appspot.com/1279004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3753 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-02 15:54:38 +00:00
2baf5f5fa0 Refactor webrtc specific Event implementation to an EventFactory.
Review URL: https://webrtc-codereview.appspot.com/1187005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3664 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 08:46:25 +00:00
a64300af50 Refactor NACK list creation to build the NACK list as packets arrive.
Also fixes a timer bug related to NACKing in the RTP module which could cause packets to only be NACKed twice if there's frequent packet losses.

Note that I decided to remove any selective NACKing for now as I don't think the gain of doing it is big enough compared to the added complexity. The same reasoning for empty packets. None of them will be retransmitted by a smart sender since the sender would know that they aren't needed.

BUG=1420
TEST=video_coding_unittests, vie_auto_test, video_coding_integrationtests, trybots

Review URL: https://webrtc-codereview.appspot.com/1115006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3599 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-04 15:24:40 +00:00
ef9f76a59d Adding a receive side API for buffering mode.
At the same time, renaming the send side API.

Review URL: https://webrtc-codereview.appspot.com/1104004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3525 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-15 23:22:18 +00:00
becf9c897c Fix mismatch between different NACK list lengths and packet buffers.
This is a second version of http://review.webrtc.org/1065006/ which passes the parameters via methods instead of via constructors.

BUG=1289

Review URL: https://webrtc-codereview.appspot.com/1065007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3456 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 15:09:57 +00:00
119c67df36 Adding a max jitter filter to the JB estimate - allowing two modes, one will return the last estimate (current setting), and another will return the max value seen, and allow setting an initial value.
This cl also includes tests and some clean up.

Review URL: https://webrtc-codereview.appspot.com/1019007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3445 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 17:18:02 +00:00
a678a3baee Move video_coding to new Clock interface and remove fake clock implementations from RTP module tests.
TEST=video_coding_unittests, video_coding_integrationtests, rtp_rtcp_unittests, trybots

Review URL: https://webrtc-codereview.appspot.com/1044004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3393 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-21 07:42:11 +00:00