Commit Graph

184 Commits

Author SHA1 Message Date
pwestin@webrtc.org
b73c3d1f5d Bugfix android build.
Review URL: https://webrtc-codereview.appspot.com/374003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1532 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-24 15:25:30 +00:00
pwestin@webrtc.org
28a5cb29ab Bugfix receive side only packet loss estimate with NACK.
Review URL: https://webrtc-codereview.appspot.com/373006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1529 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-24 14:34:58 +00:00
punyabrata@webrtc.org
6da8eeb946 Removing an assert for a case that can occur
when corrupt packets are injected into voice engine.
Review URL: https://webrtc-codereview.appspot.com/373004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1518 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-24 00:48:36 +00:00
leozwang@webrtc.org
376be6c904 Fix compilation error
Review URL: https://webrtc-codereview.appspot.com/358005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1508 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-23 16:46:38 +00:00
pwestin@webrtc.org
b30f0edce6 Bugfix buffer usage out of scope.
Review URL: https://webrtc-codereview.appspot.com/372001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1507 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-23 16:23:31 +00:00
pwestin@webrtc.org
56ee5d5d98 Bugfix 32 bit linux.
Review URL: https://webrtc-codereview.appspot.com/353010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1490 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-20 07:47:38 +00:00
pwestin@webrtc.org
95cf47932d Remove list wrapper from FEC code.
Review URL: https://webrtc-codereview.appspot.com/350013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1489 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-20 06:59:06 +00:00
pwestin@webrtc.org
0074187436 Removed map_wrapper from rtp_sender
Review URL: https://webrtc-codereview.appspot.com/343014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1478 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 15:56:10 +00:00
pwestin@webrtc.org
3c9be1bc4d Removed list wrapper fromr overuse detector.
Review URL: https://webrtc-codereview.appspot.com/353004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1477 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 15:55:54 +00:00
pwestin@webrtc.org
d4adc5b26f removed unused include from remote rate control.
Review URL: https://webrtc-codereview.appspot.com/350015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1476 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 15:55:30 +00:00
pwestin@webrtc.org
af6f15c1bf Changed RTP reveivers to use stl map and list.
Review URL: https://webrtc-codereview.appspot.com/349010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1475 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 15:53:59 +00:00
pwestin@webrtc.org
38f4816737 Removed unused include from rtp sender audio.
Review URL: https://webrtc-codereview.appspot.com/348012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1474 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 15:53:33 +00:00
pwestin@webrtc.org
26f8d9c7f3 Removed list and map wrappers, for RTCP handling.
Review URL: https://webrtc-codereview.appspot.com/349011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1473 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 15:53:09 +00:00
pwestin@webrtc.org
1da2327473 Changing header extension to use stl map.
Review URL: https://webrtc-codereview.appspot.com/350014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1469 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-19 12:58:53 +00:00
andrew@webrtc.org
267ca3162b Fix comparison-always-true warning with -Wextra.
TEST=build on Linux with -Wextra.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1456 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-18 19:41:40 +00:00
henrik.lundin@webrtc.org
4407edc314 Bugfix in VP8 packetizer
Handle the case with no small partitions in Vp8PartitionAggregator.
Also added a new unit test for the packetizer to verify that the
bug is fixed.

TEST=RtpFormatVp8Test.TestAggregateModeTwoLargePartitions
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1451 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-18 10:01:03 +00:00
henrik.lundin@webrtc.org
7f2c2a5db2 Adding optimized aggrgation to VP8 packetizer
This change introduces a new algorithm for aggregating small
partitions into packets. The algorithm is based on a tree-search
to find an optimal allocation of the packets, such that the
difference in size between packets is minimized.

The new method is used when partition aggregation is allowed and
balanced packets are requested. Otherwise, the old method is used.

The new method is implemented using the new classes
Vp8PartitionAggregator and PartitionTreeNode. Both classes have
dedicated unit tests.

In order to facilitate the new algorithm, the packetizer was
redesigned to calculate all packet sizes when the first packet is
extracted. The information about all packets is stored in a packet
queue structure, which is then popped for each packet extracted.

Finally, a bug in the old packetizer algorithm was fixed. The bug
caused a +/-1 error in packet sizes when balanced packets were
produced. The unit test were updated accordingly.

TEST=rtp_rtcp_unittests: PartitionTreeNode.* Vp8PartitionAggregator.* RtpFormatVp8Test.*

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1447 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-18 08:21:15 +00:00
pwestin@webrtc.org
5621057956 Removing unused code.
Review URL: https://webrtc-codereview.appspot.com/349008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1442 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-17 12:45:47 +00:00
pwestin@webrtc.org
df9bd9bdbd Removed dead code.
Review URL: https://webrtc-codereview.appspot.com/352010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1437 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-17 11:42:02 +00:00
pwestin@webrtc.org
aafa5a331c Coverty report: Unititialized members
Review URL: http://webrtc-codereview.appspot.com/349007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1436 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-17 07:07:37 +00:00
asapersson@webrtc.org
43b8fc5c0d Review URL: http://webrtc-codereview.appspot.com/345011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1435 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-16 13:49:04 +00:00
asapersson@webrtc.org
869ce2d441 Review URL: http://webrtc-codereview.appspot.com/353002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1432 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-16 11:58:36 +00:00
asapersson@webrtc.org
0b3c35a258 Review URL: http://webrtc-codereview.appspot.com/321011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1431 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-16 11:06:31 +00:00
henrika@webrtc.org
f75901fa4c Resolves CID 10540: Copy into fixed size buffer (STRING_OVERFLOW).
You might overrun the 32 byte fixed-size string "receiveCodec.plname" by copying "payloadName" without checking the length.
Note: This defect has an elevated risk because the source argument is a parameter of the current function.
Review URL: http://webrtc-codereview.appspot.com/352009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1428 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-16 08:45:42 +00:00
mflodman@webrtc.org
117c119501 Only update REMB value if there is a calid bitrate estimate.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1421 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-13 08:52:58 +00:00
stefan@webrtc.org
c8277db7c8 Fix selective retransmissions after corrupt merge in r1373.
BUG=228
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1414 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 15:38:50 +00:00
mflodman@webrtc.org
80d60420ff RTCPSender::_bitrate_observer not initialized.
BUG=227
TEST=Valgrind

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1410 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 14:28:53 +00:00
kjellander@webrtc.org
7f3c724e12 Renaming 47 files from .cpp to .cc
In addition to our naming guidelines, this will cause these files to get parsed by Sonar, and to make searching/grepping the source using file extensions easier in the future.

BUG=
TEST=Compiling on Linux.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1405 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 10:23:41 +00:00
kjellander@webrtc.org
93546f8ed6 Removing unused file
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1404 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 10:00:33 +00:00
niklas.enbom@webrtc.org
553657b2f8 See http://codereview.chromium.org/9188022/ for details
Review URL: http://webrtc-codereview.appspot.com/347009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1403 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 08:49:34 +00:00
mflodman@webrtc.org
04c18cb37a Update all child modules of with received bandwidth estimate.
BUG=224

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1391 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 14:18:33 +00:00
perkj@webrtc.org
ce5990cb0b Fix defect http://code.google.com/p/webrtc/issues/detail?id=222
"ViE GetSentRTCPStatistics fails on a sending channel if it don't receive rtp video packets.

BUG=222
TEST= tested in loopback. No new test added yet.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1387 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 13:00:08 +00:00
stefan@webrtc.org
c5b73e3974 Further cleanup of OverUseDetector. Removed member no longer used.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1377 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 16:42:09 +00:00
pwestin@webrtc.org
a1783598a7 Bugfix for clang.
Review URL: http://webrtc-codereview.appspot.com/351001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1375 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 15:33:40 +00:00
pwestin@webrtc.org
5d35ceb34a Bugfix array length in test.
Review URL: http://webrtc-codereview.appspot.com/343007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1374 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 15:06:09 +00:00
pwestin@webrtc.org
8281e7dd4a Added RTX to ViE.
Review URL: http://webrtc-codereview.appspot.com/336001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1373 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 14:09:18 +00:00
asapersson@webrtc.org
c5a1cee73e Review URL: http://webrtc-codereview.appspot.com/348004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1367 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 12:54:44 +00:00
stefan@webrtc.org
727e1611ac Removes debug file writing.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1365 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 11:45:47 +00:00
stefan@webrtc.org
e21a8cf4d4 Fix issue 211: Make sure we always generate at least one FEC packet per frame if we need protection.
BUG=211
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1363 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-10 08:37:33 +00:00
pwestin@webrtc.org
12d97f6637 Made send pad data generic (audio and video)
Review URL: http://webrtc-codereview.appspot.com/343001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1346 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-05 10:54:44 +00:00
pwestin@webrtc.org
3aa25de346 Bugfix OnNetworkChanged not triggered for RTCP compund messages if TMMBR is higher than last value.
TBR=mflodman
Review URL: http://webrtc-codereview.appspot.com/342001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1344 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-05 08:40:56 +00:00
pwestin@webrtc.org
6c1d41583a Fix for RTP extension audio level.
Review URL: http://webrtc-codereview.appspot.com/339002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1334 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 17:04:51 +00:00
pwestin@webrtc.org
c450a19669 Removed Version function from all modules.
TBR=henrik_a
Review URL: http://webrtc-codereview.appspot.com/329023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1330 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 15:00:12 +00:00
stefan@webrtc.org
f6c6b1c5b5 Include the media packet FEC headers in the video bitrate.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1296 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-23 10:33:39 +00:00
mflodman@webrtc.org
1ce66e4dfb Don't report error when failing to send RTCP BYE.
Review URL: http://webrtc-codereview.appspot.com/337002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1293 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 18:40:15 +00:00
stefan@webrtc.org
6a4bef4e65 Implements selective retransmissions.
Default is set to not retransmit VP8 non-base layer packets or FEC packets.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1290 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 12:52:41 +00:00
mflodman@webrtc.org
84dc3d134d Add REMB functionality to ViE.
This CL only adds support for encoding one stream, but receiving multiple streams.

BUG=
TEST=video_engine_core_unittest + auto_test/loopback

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1284 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 10:26:13 +00:00
henrik.lundin@webrtc.org
1e28d3c2e1 Change VP8 packetizer to use a single max payload size
The packetizer class is changed so that the max payload size is
provided on construction of the class rather than for each packet.
The tests are re-written to comply with the new design.

Also fixing a few errors in the tests.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1280 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 08:49:31 +00:00
pwestin@webrtc.org
8edb39db30 Prevent sending empty RTCP packet.
Review URL: http://webrtc-codereview.appspot.com/331009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1277 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 07:40:33 +00:00
niklas.enbom@webrtc.org
6c9be123ef Letting strncpy do its job. Landing and extending http://webrtc-codereview.appspot.com/329010/ on behalf of tbreisacher.
Review URL: http://webrtc-codereview.appspot.com/335009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1260 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 08:59:31 +00:00
henrik.lundin@webrtc.org
00e730730e Refactoring RtpFormatVp8Test
This is the first change in a series of changes to get new functionality
into the VP8 packetizer.

This first refactors the RtpFormatVp8Test class, without changing the
operation of the tested RtpFormatVp8 class. A test helper class
RtpFormatVp8TestHelper is introduced to reduce code duplication.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1258 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-21 08:51:36 +00:00
pwestin@webrtc.org
061fa5b828 Changed handling of padding data.
Review URL: http://webrtc-codereview.appspot.com/331008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1252 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-20 15:56:17 +00:00
mikhal@webrtc.org
0e7d9d862a Adding layer info consideration when applying FEC protection. In this first version, we hard code protection zero for non-base layer frames. As a future enhancement, an array should be passed from mediaOpt to set the protection per layer. A TODO was added in MediaOpt.
Review URL: http://webrtc-codereview.appspot.com/330005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1238 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 19:04:49 +00:00
henrika@webrtc.org
e32c08a5a6 Removes usage of default parameters and fixes a bug which was found
using Clang on Linux.

BUG=none
TEST=none
TBR=pwestin

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1234 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 17:39:48 +00:00
andrew@webrtc.org
8a44259ea8 Move static consts out of class.
Still causing a gtest error on non-Win platforms. This should fix it...

TBR=asapersson@webrtc.org
TEST=build on Linux

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1225 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 21:24:30 +00:00
andrew@webrtc.org
41192469f6 Switch enums to consts to fix gtest error.
TBR=asapersson@webrtc.org
TEST=build on Windows

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1224 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 20:55:46 +00:00
marpan@webrtc.org
57353a33f1 FEC Receiver: Fix to how old packets (e.g., re-tranmitted packets in hybird NACK-FEC mode) are treated.
This change avoids having old packets end up on the current packet list for FEC decoding, and so they are immediately sent out to jitter buffer.
The current list of packets for FEC decoding are sent out only when new packet arrives (with time-stamp greater than current).
Review URL: http://webrtc-codereview.appspot.com/322009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1222 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 17:21:09 +00:00
asapersson@webrtc.org
5249cc8f77 Review URL: http://webrtc-codereview.appspot.com/295010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1219 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-16 14:31:37 +00:00
henrike@webrtc.org
65573f2922 Removed usage of the deprecated critical section constructor in rtp_rtcp.
Review URL: http://webrtc-codereview.appspot.com/315004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1173 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 19:17:27 +00:00
stefan@webrtc.org
f4c8286222 Pass NACK and FEC overhead rates through the ProtectionCallback to VCM.
These overhead rates are used by the VCM to compensate the source
coding rate for NACK and FEC.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1171 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 15:38:14 +00:00
henrik.lundin@webrtc.org
1ced840893 Fixing a nit in the unittest
This caused some of the build bots to fail.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1170 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 14:59:00 +00:00
henrik.lundin@webrtc.org
eda86dc76b Adding a LayerSync bit to VP8 RTP header
Updated RtpFormatVp8, ModuleRTPUtility, VP8Encoder and VP8Decoder
to support a new LayerSync ("Y") bit. Note, in VP8Encoder the bit
must be used together with a non-negative value for temporalIdx.
Fixing the plumbing between RTP module and and from VP8 wrapper.
Updating unit tests; all pass.

The new bit is yet to be used by the VP8 wrapper.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1169 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 14:11:06 +00:00
henrik.lundin@webrtc.org
4aae0e489f Shaping up formatting of rtp_utility_test.cc
Preparations for future work in this file.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1168 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 09:15:21 +00:00
henrike@webrtc.org
315282c01a Fixes a compiler warning related to dynamically allocated static memory. the fix is to leak the memory since the OS will clean it up anyways. This will not add noise to memory tools so it's ok. The issue is reported here: http://code.google.com/p/webrtc/issues/detail?id=147.
Review URL: http://webrtc-codereview.appspot.com/267023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1150 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-09 17:46:20 +00:00
marpan@webrtc.org
63b50f60d6 test_fec: Fix to valgrind warnings.
Review URL: http://webrtc-codereview.appspot.com/304002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1135 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-08 19:05:39 +00:00
henrike@webrtc.org
441b3fe2a1 Made some global statics have function scope so that the global static count is 0 for the rtp_rtcp module.
Review URL: http://webrtc-codereview.appspot.com/316001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1125 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-08 02:03:49 +00:00
stefan@webrtc.org
cc7b649474 Add trace for the situation when the min bitrate > available bandwidth.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1123 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-07 13:22:06 +00:00
henrik.lundin@webrtc.org
bf86c33b0e Removing OutputDebugString from rtp_rtcp module
This is in response to WebRTC issue 167.

BUG=http://code.google.com/p/webrtc/issues/detail?id=167

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1119 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-07 10:44:05 +00:00
marpan@webrtc.org
1d34212a45 FEC: Update to packets masks (FEC generator matrix) in fec_private_tables.h
A set of the packet masks (up 10x10 size) are modified for the following reasons:

1) have more even column and row degree (number of 1 bits), when possible.

2) if cases where the column degree cannot be constant across source packets, placed the extra 1 bit in the first packet column (so little more protection on 1st partition), as opposed to having some ~middle source packet have the extra bit.

3) in some cases, made the mask a little more sparse/reduced the overlap.

Overall the average recovery is a little better with these masks.

Mask sizes above 10 will be updated in future changelist.
Review URL: http://webrtc-codereview.appspot.com/305001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1113 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-06 18:50:11 +00:00
henrik.lundin@webrtc.org
b6e58eb5a1 Fix formatting of rtp_format_vp8*
Sorting out all lint issues and fixing indentation.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1111 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-06 15:56:18 +00:00
henrike@webrtc.org
4b00560a6e Fixes build error in rtp_rtc module introduced in r1076.
Review URL: http://webrtc-codereview.appspot.com/301005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1081 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-02 00:32:24 +00:00
pwestin@webrtc.org
0644b1dc35 Introduce a mockable RtpRtcpClock interface replacing ModuleRTPUtility time functions
A new RtpRtcpClock interface has been added to rtp_rtcp_defines.h
and provides time facilities used by an RTP/RTCP module. Also,
NTP constants have been made public in the
webrtc::ModuleRTPUtility namespace to make implementation of
external clocks easier.

An overloaded version of CreateRtpRtcp() accepts a clock argument. By
default, if no clock is provided, the module uses the system clock
(old ModuleRTPUtility implementation).

Throughout the RTP/RTCP module code, calls to TickTime and
ModuleRTPUtility time functions have been replaced with calls to time
methods on a clock object.

The following classes take a clock object in their constructor and
hold a _clock field (either directly, or inherited from a parent):

Bitrate
ModuleRtpRtcpImpl
RTCPReceiver
RTCPSender
RTPReceiver
RTPSender
RTPSenderAudio
RTPSenderVideo

Methods from other classes that do not derive any of those and
require a time take an additional nowMS parameter, that should be
the result of calling GetTimeInMS() on a clock object.
Review URL: http://webrtc-codereview.appspot.com/268017

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1076 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:42:31 +00:00
marpan@webrtc.org
9d8bec6f76 FEC: Fix to valgrind warning.
Review URL: http://webrtc-codereview.appspot.com/292009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1042 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-28 22:10:05 +00:00
stefan@webrtc.org
94a8c03141 Slightly increased bandwidth adaptation at both receive- and send-side.
The send-side increase factor is increased to better follow the pace
of the receive-side estimate, while the receive-side factor is
increased to speed up adaptation.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1030 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 14:09:37 +00:00
xians@webrtc.org
8738d277a1 Valgrind detects that there are racing conditions in RTPReceiver::PacketTimeout and RTPSender
This CL fixes two of them.
Review URL: http://webrtc-codereview.appspot.com/295005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1029 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 13:43:53 +00:00
henrik.lundin@webrtc.org
859626570a VP8 RTP work
Fixing the plumbing to get the KEYIDX between VP8 wrapper and
rtp_rtcp module. Also fixing a missing pipe for temporalIdx

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1024 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 10:17:00 +00:00
mflodman@webrtc.org
26b9777e62 Only trigger one call to OnNetworkChanged for each incoming RTCP packet.
Review URL: http://webrtc-codereview.appspot.com/289004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1016 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-24 15:22:33 +00:00
henrik.lundin@webrtc.org
9af365d3c5 Fixing VP8 RTP parser bug
Missing one initialization of new struct variable hasKeyIdx.

TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1014 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-24 13:28:29 +00:00
henrik.lundin@webrtc.org
6f2c0168f0 Updating to VP8 RTP spec rev -02
Updating the VP8 packetizer class (RtpFormatVp8) and VP8 parser
(in class RTPPayloadParser) to follow the -02 revision of the spec.
See http://tools.ietf.org/html/draft-ietf-payload-vp8-02.

Updating the unit tests, too. Finally, updating the tests to
follow the recommendations from the test team; specifically
including the test code in the webrtc namespace, and omitting
the main function at the end of each test file.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1013 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-24 12:52:40 +00:00
stefan@webrtc.org
fcf33eb7e0 Limit number of send-side BWE increases to one per second.
Also report 0 losses if not enough expected packets since
previous receiver report.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@954 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-16 07:58:31 +00:00
mflodman@webrtc.org
a02ef1ace2 Fix broken tree.
Review URL: http://webrtc-codereview.appspot.com/267015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@943 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-15 07:50:50 +00:00
mflodman@webrtc.org
1f69c03739 Added size sanity check for copying app specific RTCP data.
Similar check as done in RTCPUtility::RTCPParserV2::ParseAPPItem.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@942 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-15 06:12:39 +00:00
mflodman@webrtc.org
fd3a0efd15 RTP bw estimate fix.
Review URL: http://webrtc-codereview.appspot.com/279004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@932 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-11 10:55:26 +00:00
mflodman@webrtc.org
7a4eb2837a Calculate the available bandwidth before sending a TMMBR
Also changed the way TMMBR was processed since it did not match the new bandwidth estimator.

Review URL: http://webrtc-codereview.appspot.com/270003
Patch from pwestin1 <pwestin@webrtc.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@925 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-10 12:54:46 +00:00
mflodman@webrtc.org
03a9eb1526 RTP module: Make sure payloadName is null terminated.
Review URL: http://webrtc-codereview.appspot.com/268006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@908 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-09 14:51:18 +00:00
henrik.lundin@webrtc.org
f15fbc379d Change in RTP module SendVP8
Changing how the max payload length is calculated. Instead
of handling RTP and FEC header overhead explicitly, call the
MaxDataPayloadLength method which already does it. Avoid redundant code. Had to move MaxDataPayloadLength to the
RTPSenderInterface.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@901 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-08 08:23:47 +00:00
mflodman@webrtc.org
5ae9f5ed6c Adding logs in RTPSender::ReSendToNetwork.
Review URL: http://webrtc-codereview.appspot.com/273001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@896 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-07 20:03:00 +00:00
marpan@webrtc.org
040cb71e0a Fix windows compilation errors and warning for test_fec. Disabled VERBOSE_OUTPUT.
Review URL: http://webrtc-codereview.appspot.com/253005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@889 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-04 22:57:56 +00:00
kjellander@webrtc.org
1a8d08ad76 Changing usage of gtest_main target, to use test_support_main instead.
Review URL: http://webrtc-codereview.appspot.com/252002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@884 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 23:28:47 +00:00
pwestin@webrtc.org
7232ad78b2 reverted back the sanity and changed the test
Review URL: http://webrtc-codereview.appspot.com/254006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@877 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 00:36:32 +00:00
pwestin@webrtc.org
cfc1070586 Fixed sanity for min length
Review URL: http://webrtc-codereview.appspot.com/259003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@876 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 00:15:44 +00:00
pwestin@webrtc.org
075e91fa27 Added parsing of width and height from VP8 header
Review URL: http://webrtc-codereview.appspot.com/241012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@875 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-02 23:14:58 +00:00
stefan@webrtc.org
fbea4e555d Solves two bandwidth estimation issues and measures the sent video bitrate.
Issues solved:
1. Possible overflow when reducing the bandwidth estimate at the send-side
2. A burst of loss reports could make us reduce the rate way too far since
   we reduced the rate relative the current estimate and not the actual
   rate sent.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@822 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-27 16:08:29 +00:00
stefan@webrtc.org
5eb64f06be Fix BitrateSent() API when having a default RTP module.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@796 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-21 13:42:50 +00:00
stefan@webrtc.org
c4d1983b7b Changes in rtp_format_vp8_unittest to match the changes in CL 774.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@782 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-20 08:19:34 +00:00
henrike@webrtc.org
509c9c5d09 operator + is evaluated before ?:
Parenthesis ensures the intended behavior.
Review URL: http://webrtc-codereview.appspot.com/239003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@777 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 18:31:01 +00:00
stefan@webrtc.org
ffd28f95c5 Request key frames to battle error propagation.
The VP8 decoder wrapper will request key frames 30 frames after seeing
a packet loss, if it hasn't received a state refresh (only possible
through key frames in this version).

For this to be possible the jitter buffer has been made aware of
picture ids to be able to detect frame losses. Legacy JB code to
handle streams without marker bits was also removed since it
conflicts with streams with FEC.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@774 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 15:55:39 +00:00
stefan@webrtc.org
5b15cfc6dd Fix BWE unit test build issue
git-svn-id: http://webrtc.googlecode.com/svn/trunk@762 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-18 07:22:33 +00:00
wu@webrtc.org
76aea651ff When _audioConfigured, should not try to use the _video.
Review URL: http://webrtc-codereview.appspot.com/224004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@758 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-17 21:40:32 +00:00
marpan@webrtc.org
14aaaf116a Some re-organization of the fec-uep code: updated protection modes, comments, and some variable/function re-naming.
Review URL: http://webrtc-codereview.appspot.com/231001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@752 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-14 16:28:02 +00:00