hclam@chromium.org
b1bba167f4
Prevent excessive logging in jitter buffer
...
Jitter buffer logs a message when it is going to recycle frames. This adds a
lot of noise even in normal operation. This change make sure only critical
cases are logged.
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1580007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4150 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-31 18:52:16 +00:00
tnakamura@webrtc.org
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
tnakamura@webrtc.org
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
mikhal@webrtc.org
adc64a7216
VCM/Timing: Setting clear names to members & methods
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1524004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4140 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-30 16:20:18 +00:00
jiayl@webrtc.org
046bc448d5
Fixes the frameRate stats by grouping the frames by timestamp.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1536004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4138 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 16:33:46 +00:00
pbos@webrtc.org
a048d7cb0a
Include files from webrtc/.. paths in rtp_rtcp/
...
BUG=1662
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1557004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4135 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 14:27:38 +00:00
pbos@webrtc.org
9aca5b34e1
Remove #pragma once
...
BUG=1830
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1568004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4130 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 13:19:09 +00:00
stefan@webrtc.org
a5cb98cbbd
Breaking out RTP header parsing from the RTP module.
...
This is the first step in order to move bandwidth estimation closer to the network. The goal is to have RTP header parsing and bandwidth estimation before voice and video engine, and have a joint estimate for audio and video.
Moving bandwidth estimation before the RTP module is also required for RTX.
TEST=vie_auto_test, voe_auto_test, trybots.
BUG=1811
R=andresp@webrtc.org , henrika@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1545004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4129 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 12:12:51 +00:00
stefan@webrtc.org
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
marpan@webrtc.org
a6ae644e52
Add comment about test_packet_masks_metrics.
...
R=andrew@webrtc.org , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1577004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4124 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 17:42:12 +00:00
pbos@webrtc.org
8c34ceeef1
Include "gtest/gtest.h", not by full path, on WEBRTC_ANDROID_PLATFORM_BUILD
...
BUG=
TBR=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1571004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4119 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 09:24:03 +00:00
pbos@webrtc.org
15c1c61e2c
Include files from webrtc/.. paths in audio_conference_mixer/
...
BUG=1662
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1565004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4117 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 08:13:20 +00:00
pbos@webrtc.org
7fad4b8c9f
Include files from webrtc/.. paths in audio_processing/
...
BUG=1662
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1559004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4116 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 08:11:59 +00:00
solenberg@webrtc.org
a6db54d4c9
- Created RemoteBitrateEstimator wrapper for use internally in (ViE) ChannelGroup.
...
- Changed implementation of SetReceiveAbsoluteSendTimeStatus API so the RBE instance is changed when at least one channel in a group has the extension enabled.
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1553005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4113 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 16:02:56 +00:00
pbos@webrtc.org
6f3d8fcfc0
Include files from webrtc/.. paths in video_processing/
...
BUG=1662
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1558004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4109 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 14:12:16 +00:00
pbos@webrtc.org
47ce120efb
Include files from webrtc/.. paths in remote_bitrate_estimator/
...
BUG=1662
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1552004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4108 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 12:41:33 +00:00
stefan@webrtc.org
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
sergeyu@chromium.org
ead3c6d508
Fix bugs in DesktopRegion::IntersectWith() and DesktopRect::IntersectWith().
...
IntersectWith() didn't work correctly which breaks screen capturers in chromium.
BUG=crbug.com/243160
R=alexeypa@chromium.org , wez@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1560004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4102 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 21:07:20 +00:00
pbos@webrtc.org
8665da8926
Remove dead testRateControl.cc
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1556004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4101 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 13:29:29 +00:00
pbos@webrtc.org
a01f7f6509
Removed dead testH263Parser.cc
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1555004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4100 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 13:01:57 +00:00
pbos@webrtc.org
c1f0eb2c03
Remove dead bitstreamTest.cc.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1553004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4099 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 12:46:08 +00:00
stefan@webrtc.org
c74c3c2447
Adds integration test for RTX and fixes bugs found.
...
BUG=1811
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4096 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 13:48:22 +00:00
stefan@webrtc.org
5c58f63d3f
Fix regression where retransmission bitrate is no longer estimated.
...
BUG=1813
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1530004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4095 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 13:36:55 +00:00
stefan@webrtc.org
a7dc37d568
Log the type of recycled frames.
...
Also correct the logging of incoming key frame packets.
BUG=1814
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1537004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4090 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 07:21:05 +00:00
hclam@chromium.org
8c49c1eab3
Log a message when a key frame packet is received
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1518004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4089 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 21:18:59 +00:00
solenberg@webrtc.org
46db413e22
Fix failing tests on 32 bit Linux.
...
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1534004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4088 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:53:42 +00:00
turaj@webrtc.org
e46c8d3875
API to control target delay in NetEq jitter buffer. NetEq maintains the given delay unless channel conditions require a higher delay.
...
TEST=unit-test, manual, trybots.
R=henrik.lundin@webrtc.org , henrika@webrtc.org , mflodman@webrtc.org , mikhal@webrtc.org , stefan@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1384005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4087 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:39:43 +00:00
solenberg@webrtc.org
561990fd73
- Changed RemoteBitrateEstimator::IncomingPacket() to include a const WebRtcRTPHeader& and remove ssrc, rtp_timestamp.
...
- Changed RemoteBitrateObserver::OnReceivedBitrateChanged() to use a const & instead of non-const *, to avoid unnecessary copying.
- Refactored RemoteBitrateEstimatorTest so it can be instantiated for both single and multi stream BWE (first using a parameterized test, but then as a standard test fixture and a few helper functions).
- Refactored some tests in RemoteBitrateEstimatorTest into a common function CapacityDropTestHelper().
BUG=
R=andresp@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1521004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4086 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 19:04:19 +00:00
sergeyu@chromium.org
6ec25073e3
Disable WindowCapturer tests on OSX and Linux
...
R=alexeypa@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1533004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4085 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 18:47:07 +00:00
sergeyu@chromium.org
6ebfd346ae
Add direct_dependent_settings in common.gypi.
...
When building chromium targets that depend on webrtc, compiler settings must
have the include path to webrtc and webrtc-specific defines that the headers
may depend on. Added direct_dependent_settings in common.gyp, so that all
webrtc target propagate these settings to dependencies.
R=andrew@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1371005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4084 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 18:22:21 +00:00
mikhal@webrtc.org
2eaf98b38b
Refactor VCM/Timing.
...
No changes in functionality.
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/1514004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4081 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 17:58:43 +00:00
stefan@webrtc.org
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
hclam@chromium.org
0d540c3762
Log timestamp of the frame when it's dropped from the render module
...
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1515005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4075 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 00:16:01 +00:00
solenberg@webrtc.org
c0352d566a
Fix assertions in rtp_header_extension.h caused by not handling the AudioLevel extension. Added unit tests to do basic checks of the AudioLevel extension.
...
BUG=
R=asapersson@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1510004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4069 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 20:55:07 +00:00
sergeyu@chromium.org
b10ccbec02
Window capturer implementation for Windows.
...
R=alexeypa@chromium.org , andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1477004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4064 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-19 07:02:48 +00:00
fischman@webrtc.org
8d6eb56085
Avoid NPE crash on Android platforms that don't support getting preview framerate.
...
- catch Camera.setParameters() signaling errors through RuntimeException (!)
- make video_demo_apk rebuild when .java sources change
BUG=1778
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1493004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4059 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 17:33:31 +00:00
stefan@webrtc.org
9f557c140e
Improve wraparound handling in the render time extrapolator.
...
This was actually working as intended, but as r3970 changed when render timestamps were extrapolated to when a frame was taken out for decoding, the wraparound could have happened in the Update() step before it had happened in the ExtrapolateLocalTime() step. This causes render timestamps to be generated 13 hours into the future.
TEST=trybots
BUG=1787
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1497004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4055 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 12:55:07 +00:00
phoglund@webrtc.org
14d7700d00
Moved command line parsing to internal tools and moved back the mic volume thingie.
...
BUG=
R=henrika@webrtc.org , kjellander@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1491004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4054 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 11:52:08 +00:00
turaj@webrtc.org
8630cfe016
Guarding certain operations, e.g. bandwidth estimation, RTCP statistics update etc., not to be run on sync RTPS.
...
BUG=issue1770
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1485004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4052 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 23:54:54 +00:00
hclam@chromium.org
fe307e1332
Add one unit test for NACKing a key frame
...
Adding a test case that wasn't covered. This new test is passing.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1475004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4051 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 21:19:59 +00:00
hclam@chromium.org
b3e5acfb66
Cleanup traces in WebRTC
...
Remove some unused traces and add a trace counter for encoded video size.
R=holmer@google.com , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1476004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4050 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 21:13:02 +00:00
pbos@webrtc.org
b9bb3d1e7d
Avoid resetting encoder on identical settings.
...
BUG=1681
R=holmer@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1481005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4049 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 18:40:48 +00:00
marpan@webrtc.org
890f6092e6
Bugfix: VCM would report wrong sentBitrate
...
issue: https://code.google.com/p/webrtc/issues/detail?id=1755
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1484004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4048 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 15:38:44 +00:00
phoglund@webrtc.org
9919ad5caf
Formatted FEC stuff.
...
Unfortunately I had to pull in quite a bit of stuff due to use of unencapsulated public member variables.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1401004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4047 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 15:06:28 +00:00
stefan@webrtc.org
2038214c77
Log too long non-decodable duration events.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1488004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4043 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 11:39:06 +00:00
solenberg@webrtc.org
7ebbea14a9
Add handling of the absolute send time header extension to the rtp_rtcp module.
...
BUG=
R=asapersson@webrtc.org , stefan@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1480004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4041 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 11:10:31 +00:00
mikhal@webrtc.org
6cfa3907c8
Updating NACK RTX test
...
BUG=1513
R=holmer@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1274006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4036 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-15 20:17:43 +00:00
mikhal@webrtc.org
cb20a5b2d7
VCM/JB: Bug fix in ExtractAndSetDecode
...
BUG=1771
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1466005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4035 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-15 17:10:44 +00:00
solenberg@webrtc.org
5add4ad09c
RemoteBitrateEstimatorTest::TestRateIncreaseReordering sent in arrival timestamps in non monotonically increasing order. Fixed.
...
BUG=
R=holmer@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1481004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4034 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-15 13:49:57 +00:00
braveyao@webrtc.org
c93b1d038d
CoreAudio Win: release resources safely under certain rare circumstance in GTalkplugin
...
BUG=
TEST=voe_auto_test
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1479004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4033 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-15 10:14:56 +00:00