9238de9d49
resolve b9050210. Avoid pushing sync packet before any packet received. Do not turn on AV-sync if initial delay is zero.
...
Also solve DTMF playout with Opus.
issue=b9050210
Test=Manual by QA Team.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1583004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4176 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 19:18:39 +00:00
3d34f66292
Move screen capturers from chromium to webrtc.
...
R=alexeypa@chromium.org , wez@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1586005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4175 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 18:51:23 +00:00
a817962bab
Refactor padding and rtp header functionality.
...
BUG=1837
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1611004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4172 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 13:47:36 +00:00
de98478965
Update the remote bitrate estimator before passing the packet to the RTP module.
...
This solves the problem of reconstructed packets biasing the bandwidth estimate.
TEST=vie_auto_test --automated, trybots
R=mflodman@webrtc.org , solenberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1594005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4171 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 12:15:40 +00:00
8ad3ec9722
Fix build error introduced with r4168.
...
TBR=mflodman@webrtc.org
BUG=1837
Review URL: https://webrtc-codereview.appspot.com/1610004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4169 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:52:46 +00:00
c3cc375499
Add support for padding in pacer.
...
This improves pacer-based padding by making sure it limits padding according to:
- Never pad more than 800 kbps.
- Padding + media should not go above a given target bitrate.
Also adds appropriate unittests to make sure we reach the given targets.
BUG=1837
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1582005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4168 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:36:56 +00:00
5156c94f89
Disable neteq_unittests on Win x64 in code.
...
Having this failing test being disabled in code will make it
possible to add it on the bots again, and make thus no bot
configuration update needs to be communicated when it's fixed.
BUG=1460
TEST=Compiled with GYP_DEFINES=target_arch=x64 and ran the
test successsfully on Windows. Also ran regular trybots.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1595004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4165 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 05:47:24 +00:00
b6e49aa3f2
Disable audio_decoder_unittests on Win x64 in code.
...
Having this failing test being disabled in code will make it
possible to add it on the bots again, and make thus no bot
configuration update needs to be communicated when it's fixed.
BUG=1459
TEST=Compiled with GYP_DEFINES=target_arch=x64 and ran the
test successsfully on Windows. Also ran regular trybots.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1594004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4164 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 05:47:04 +00:00
6eba2774c9
Disable audio_coding_unittests on Win x64 in code.
...
Having this failing test being disabled in code will make it
possible to add it on the bots again, and make thus no bot
configuration update needs to be communicated when it's fixed.
BUG=1458
TEST=Compiled with GYP_DEFINES=target_arch=x64 and ran the
test successsfully on Windows. Also ran regular trybots.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1593004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4163 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 05:46:37 +00:00
e001b57d84
Do not hold a lock when calling VCMReceiveCallback::FrameToRender.
...
DecodedImageCallback is allowed to be called on a thread different from decoding thread. To avoid the deadlock in VCMDecodedFrameCallback::Decoded, VCMDecodedFrameCallback::_critSect should not be held while calling VCMReceiveCallback::FrameToRender.
BUG=1832
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1570004
Patch from Wu-Cheng Li <wuchengli@chromium.org >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4162 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 03:29:37 +00:00
3ee13e4ac2
Optimized DesktopRegion implementation.
...
Now DestktopRegion can merge overlapping rectangles.
R=wez@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1526004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4161 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 00:38:39 +00:00
34a77354a8
Removed unused class members to enable clang=1 android build.
...
BUG=https://code.google.com/p/webrtc/issues/detail?id=1275
TESTED=video_demo_apk builds with clang=1
R=niklas.enbom@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1605004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4160 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 00:37:21 +00:00
fa64a595ad
Change SetRTPAudioLevelIndicationStatus to ignore the id in the case of disabling.
...
This makes it easier for the users of the interface, i.e. doesn't need to remember the id in order to disable audio level indication later.
BUG=1828
TEST=unit tests
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1598005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4157 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-03 21:27:57 +00:00
c1eb560a5c
Replace the old resampler with SincResampler in the voice engine signal path.
...
* The old resampler was found to have a wraparound bug.
* Remove support for the old resampler from PushResampler.
* Use PushResampler in AudioCodingModule.
* The old resampler must still be removed from the file utility.
BUG=webrtc:1867,webrtc:827
TESTED=unit tests, Chrome using apprtc and voe_cmd_test to verify wrap-around is corrected, voe_cmd_test running through all supported codec sample rates and channels to verify good quality audio
R=henrika@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1590004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4156 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-03 19:00:29 +00:00
31c5f1c91a
Remove ancient and unused CNG test.
...
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1585005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4154 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-03 16:07:07 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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