201 Commits

Author SHA1 Message Date
henrika@webrtc.org
19da719a5f Resolves TSan v2 reports data races in voe_auto_test.
--- Note that I will add more fixes to this CL ---

BUG=1590

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3770 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-05 14:34:57 +00:00
pbos@webrtc.org
b5bf54c4e7 Permit arbitrary payload names for kVideoCodecGeneric.
BUG=1575

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3768 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-05 13:27:38 +00:00
edjee@google.com
79b0289bfc Adds event traces and counters for WebRTC receive side.
Review URL: https://webrtc-codereview.appspot.com/1279005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3766 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-04 19:43:34 +00:00
stefan@webrtc.org
e1a7193869 Fix flakiness in network up/down event tests when running under memcheck.
TBR=pwestin@webrtc.org

BUG=1524

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3732 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-27 17:01:48 +00:00
stefan@webrtc.org
bfacda60be Add interface to signal a network down event.
- In real-time mode encoding will be paused until the network is back up.
- In buffering mode the encoder will keep encoding, and packets will be
  buffered at the sender. When the buffer grows above the target delay
  encoding will be paused.
- Fixes a couple of issues related to pacing which was found with the new test.
- Introduces different max bitrates for pacing and for encoding. This allows
  the pacer to faster get rid of the queue after a network down event.

(Work based on issue 1237004)

BUG=1524
TESTS=trybots,vie_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3730 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-27 16:36:01 +00:00
solenberg@webrtc.org
d8a6e72057 Fix potential buffer overrun when checking if a packet is RTCP. Also makes validation slightly more robust.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3726 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-26 14:02:30 +00:00
pbos@webrtc.org
8911ce46a4 Generic video-codec support.
Labels frames as key/delta, also marks the first RTP packet of a frame as such,
to allow proper reconstruction even if packets are received out of order.

BUG=1442
TBR=ajm@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3680 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-18 16:39:03 +00:00
stefan@webrtc.org
41211466d8 Revert the deletion of test_api_nack.cc in r3674.
TBR=mflodman@webrtc.org, mikhal@webrtc.org

BUG=1513

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3677 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-18 15:00:50 +00:00
mikhal@webrtc.org
bda7f305c5 Adding RTX on source
Review URL: https://webrtc-codereview.appspot.com/1190004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3674 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-15 23:21:52 +00:00
turaj@webrtc.org
b7edd06530 Remove DTMF detection. Talk team has been in the loop and there is no need for
DTMF detection at the receiver side.

test=voe_auto_test, VoE extended test DTMF
Review URL: https://webrtc-codereview.appspot.com/1168004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3663 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 22:27:27 +00:00
stefan@webrtc.org
03e3117d87 Removed redundant VP8 width/height and made sure the generic width/height is set.
Review URL: https://webrtc-codereview.appspot.com/1158005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3656 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 09:59:27 +00:00
stefan@webrtc.org
a27107004d Split the NACK list into multiple RTCPs if it's too big.
TEST=rtp_rtcp_unittests
BUG=1434

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3609 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-05 09:02:06 +00:00
phoglund@webrtc.org
44f85a49d8 Fixed coverity defects (CID 14657 and 14656).
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3597 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-04 14:59:31 +00:00
bemasc@google.com
603ae3ece2 Make RtpHeaderExtensionMap::Register and ::Deregister idempotent.
This CL changes the return code of these methods to indicate
success instead of failure when there is nothing to change.

This change appears to resolve an issue where enabling the
timestamp offset extension via SDP would result in a failure if
that extension had already been enabled.
Review URL: https://webrtc-codereview.appspot.com/1118008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3588 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-01 17:03:02 +00:00
stefan@webrtc.org
e1c4ed958d Fix to send a full NACK list at least roughly once every 1.5 x RTT.
BUG=1434

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3576 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-27 16:23:06 +00:00
mflodman@webrtc.org
59b2d5fbce Stop and restart fix.
BUG=1398
TEST=Local stop and start test.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3545 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 16:00:27 +00:00
stefan@webrtc.org
0cb48a0a18 Set SingleStream BWE in unittests.
TEST=trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3494 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-11 08:30:23 +00:00
phoglund@webrtc.org
a7303bdfb5 Lint-cleaned video and audio receivers.
BUG=
TESTED=trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3471 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-05 15:12:39 +00:00
phoglund@webrtc.org
244251a9cd Moved almost all payload-related stuff to the payload registry.
The big benefit is we no longer have a circular dependency between the media receiver and the payload registry. The payload registry is starting to take a bit more place on the stage, and now knows how to do different things depending on audio or video.

BUG=
TESTED=rtp_rtcp_unittests, vie_auto_test, voe_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3465 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-04 13:23:07 +00:00
kjellander@webrtc.org
fa53d8717c Fixing/disabling Windows x64 warnings
Disabled MSVC #4267 warnings in common.gypi to enable x64 builds
for Windows.
Fixed MSVC #4267 warnings in test/testsupport.
Added third_party/directxsdk to .gitignore.

With http://review.webrtc.org/1070008 landed, this should make it possible
to build for x64 on Windows.

BUG=1348
TEST=Compiling with http://review.webrtc.org/1070008 applied:
set GYP_DEFINES="target_arch=x64"
set GYP_GENERATORS=ninja
gclient sync
ninja -C out\Debug_x64

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3464 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-04 10:07:17 +00:00
stefan@webrtc.org
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
stefan@webrtc.org
b586507986 Break out RemoteBitrateEstimator from RtpRtcp module and make RemoteBitrateEstimator::Process trigger new REMB messages.
Also make sure RTT is computed independently of whether it's time to send RTCP messages or not.

BUG=1298

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3455 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:33:42 +00:00
andrew@webrtc.org
63e0964039 Fix webrtc compilation errors for Chrome Win64
Mostly disabling warnings in the gyp files.

BUG=1348
BUG=http://crbug.com/166496
BUG=http://crbug.com/167187

Review URL: https://webrtc-codereview.appspot.com/1063011
Patch from Justin Schuh <jschuh@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3423 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 06:45:22 +00:00
phoglund@webrtc.org
43da54a458 Reformatted rtp_sender: made lint clean.
TESTED=rtp_rtcp_unittests
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3412 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 10:53:38 +00:00
phoglund@webrtc.org
5accd370e7 RTP Receiver is now only deals with a receiver strategy. Cleaned up dependencies.
BUG=
TESTED=vie/voe_auto_test, rtp_rtcp_unittests

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3397 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-22 12:31:01 +00:00
stefan@webrtc.org
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
wjia@webrtc.org
a3c82bf667 Remove '<(library)' in gyp files.
This will remove all usage of '<(library)' in all webrtc gyp files. 
Review URL: https://webrtc-codereview.appspot.com/1049005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3392 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-18 23:42:21 +00:00
phoglund@webrtc.org
efae5d5901 Extracted rtp receiver payload management to its own class, made video receiver depend on that instead.
Eliminated need for video receiver to talk to its parent. Also we will now determine if the packet is the first one already in the rtp general receiver. The possible downside would be that recovered video packets no longer can be flagged as the first packet, but I don't think that can happen. Even if it can happen, maybe the bit was set anyway at an earlier stage. The tests run fine.

BUG=
TEST=rtp_rtcp_unittests, vie_auto_test, voe_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3382 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-17 16:10:45 +00:00
stefan@webrtc.org
20ed36dada Break out RtpClock to system_wrappers and make it more generic.
The goal with this new clock interface is to have something which is used all
over WebRTC to make it easier to switch clock implementation depending on where
the components are used. This is a first step in that direction.

Next steps will be to, step by step, move all modules, video engine and voice
engine over to the new interface, effectively deprecating the old clock
interfaces. Long-term my vision is that we should be able to deprecate the clock
of WebRTC and rely on the user providing the implementation.

TEST=vie_auto_test, rtp_rtcp_unittests, trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3381 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-17 14:01:20 +00:00
phoglund@webrtc.org
acfdd96ee3 Reformatted rtp_rtcp_impl*.
BUG=
TEST=Trybots.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3374 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-16 10:27:33 +00:00
phoglund@webrtc.org
a22a9bd9ca Cleaned up the data path for payload data, made callbacks to rtp_receiver nonoptional.
The audio receiver is now completely independent of rtp_receiver: video will hopefully be too in the next patch.

BUG=
TEST=vie & voe_auto_test full runs

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3372 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-14 10:01:55 +00:00
andrew@webrtc.org
f908011eb4 Remove extra line.
TBR=elham

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3365 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-11 22:39:55 +00:00
mflodman@webrtc.org
2f225cadde Add logs when no RTCP RR has been received for three regular RTCP intervals.
BUG=1267
TEST=Unittest added.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3346 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-09 13:54:43 +00:00
phoglund@webrtc.org
c38eef896a Reformatted RTPReceiver.
This is a pure reformat patch, with the exception that I also fixed all comments and moved a constant. I did not change the types in this patch since I
though that is more risky, so I'll do that in a separate patch later (perhaps
we could purge the types from the whole module in one go?)

BUG=
TEST=Trybots, vie_ & voe_auto_test --automated

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3338 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-07 10:18:30 +00:00
pwestin@webrtc.org
1b6da28047 Bugfix for NACK behavior. Current code sends a number of duplicate NACK requests.
Landing of 573005 On behalf of an1kumar@gmail.com

TBR=mflodman
Review URL: https://webrtc-codereview.appspot.com/1002008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3322 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-21 17:46:24 +00:00
phoglund@webrtc.org
ad0ed582b5 Fixed a missed initialization (found by valgrind FYI bot).
http://webrtc-cb-linux-master.cbf.corp.google.com:8011/builders/LinuxLargeTests/builds/327/steps/memory%20test%3A%20memcheck_voe_auto_test/logs/stdio

BUG=
TEST=Reproduced valgrind error, verified gone after fixing.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3318 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-20 09:14:36 +00:00
phoglund@webrtc.org
61f39a3174 Fixed bad header name.
TBR=stefan@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3307 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-18 16:02:13 +00:00
phoglund@webrtc.org
07bf43c673 Replaced the _audio parameter with a strategy.
The purpose is to make _rtpReceiver mostly agnostic to if it processes audio or video, and make its delegates responsible for that. This patch makes the actual interfaces and interactions between the classes a lot clearer which will probably help straighten out the rather convoluted business logic in here. There are a number of rough edges I hope to address in coming patches.

In particular, I think there are a lot of audio-specific hacks, especially when it comes to telephone event handling. I think we will see a lot of benefit once that stuff moves out of rtp_receiver altogether. The new strategy I introduced doesn't quite pull its own weight yet, but I think I will be able to remove a lot of that interface later once the responsibilities of the classes becomes move cohesive (e.g. that audio specific stuff actually lives in the audio class, and so on). Also I think it should be possible to extract payload type management to a helper class later on.

BUG=
TEST=vie/voe_auto_test, trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3306 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-18 15:40:53 +00:00
phoglund@webrtc.org
7659d914bb Decoupled video rtp receiver from rtp receiver.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3292 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-14 09:57:37 +00:00
phoglund@webrtc.org
92bb417cb1 Decoupled RTP audio processor from RTP receiver.
BUG=
TEST=Ran vie_auto_test, rtp_rtcp_unittests, voe_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3279 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 10:48:24 +00:00
stefan@webrtc.org
8d0cd07d0c Add test to verify that padding only frames are passing through the RTP module.
Review URL: https://webrtc-codereview.appspot.com/934023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3224 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 14:01:46 +00:00
phoglund@webrtc.org
ef90c3227e Will now correctly identify the first-ever received packet as the first packet in its frame.
We used to flag the _second_ packet in the first frame as the first. Subsequent frames worked as intended.

BUG=1103
TEST=vie_auto_test --automated, rtp_rtcp_unittests

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3164 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 16:30:40 +00:00
mflodman@webrtc.org
7c894b7cc7 Wire up CallStats to provide modules with correct RTT.
BUG=769
TEST=Manual test since there is no ViE APi to get RTT for receive channels.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3163 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 12:40:15 +00:00
andrew@webrtc.org
418443c531 Remove operator overloading from RTPFragmentationHeader.
Instead supply a CopyFrom() method.

TEST=vie_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3158 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-23 19:17:23 +00:00
mflodman@webrtc.org
1c61196095 Removed not used include.
TEST=Compiles.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3150 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-22 09:37:27 +00:00
stefan@webrtc.org
4100b0402e Move SSRC list to RemoteBitrateEstimator.
BUG=1105

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3130 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-19 10:09:20 +00:00
pwestin@webrtc.org
571a1c035b Enable paced sender.
Review URL: https://webrtc-codereview.appspot.com/965016

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3089 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-13 21:12:39 +00:00
asapersson@webrtc.org
1726661ca2 Update parsed non ref frame info.
Review URL: https://webrtc-codereview.appspot.com/932015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3084 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-13 13:39:51 +00:00
pwestin@webrtc.org
c66e8b3f31 pre-factor cleanup pre-work.
Review URL: https://webrtc-codereview.appspot.com/938010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3054 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-07 17:01:04 +00:00
asapersson@webrtc.org
e5b49a0472 Update timestamp offset for re-transmitted packets.
BUG=1059
Review URL: https://webrtc-codereview.appspot.com/930011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3046 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-06 13:09:39 +00:00