640 Commits

Author SHA1 Message Date
stefan@webrtc.org
a4a88f90c4 Implemented NACK based reference picture selection.
This CL implements NACK based reference picture selection for VP8. A separate
class is used for keeping track of the references and managing the VP8 encode
flags. Appropriate tests have also been added.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1082 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-02 08:34:05 +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
punyabrata@webrtc.org
c1ed87602a Adding some error handling functionality in the windows audio core implementation to
stop rendering automatically and throw a playout-error callback when RequestPlayoutData
fails
Review URL: http://webrtc-codereview.appspot.com/300003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1080 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 17:55:35 +00:00
kjellander@webrtc.org
5f4f69ac57 Removing sleeps from vp8_test.
These sleeps were remains from earlier tests that required them to work with some codecs. Removing these sleep calls cut the execution time from 90s to 30s on my machine.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1077 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:50:04 +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
bjornv@webrtc.org
132feb1270 Made tables static.
In this CL global tables have been moved to where they are actually used. If for some reason they need to be available in a larger scope we can add them again at that point.
Review URL: http://webrtc-codereview.appspot.com/303002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1075 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:40:50 +00:00
kjellander@webrtc.org
4c4b7f500f Converting vp8_test to use fileutils and gtest
Review URL: http://webrtc-codereview.appspot.com/289012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1074 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:24:36 +00:00
tina.legrand@webrtc.org
f64162c335 Adding const to a number of constant tables. Setting some tables to static.
Patch set 2: Renaming static const tables. They no longer need the prefix WebRtc_Isac...
Review URL: http://webrtc-codereview.appspot.com/301001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1073 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 13:01:39 +00:00
zakkhoyt@webrtc.org
a7e70b43e2 When entering fullscreen mode, the CocoaRenderView is attached as a subview to a new full screen window.
When the class is torn down, the view was not being attached back to it's original NSView. I added a 
new class variable to remember the original superview and then reattach it at the appropriate time.
Review URL: http://webrtc-codereview.appspot.com/290009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1070 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 22:30:50 +00:00
mikhal@webrtc.org
b9db43e1b6 video_coding/jitter buffer: Reduce delay on a complete frame: No need for the next frame when current frame is already complete.
Review URL: http://webrtc-codereview.appspot.com/289007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1069 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 18:38:01 +00:00
andrew@webrtc.org
587c844741 Query the capture volume immediately on Win Core.
This allows the capture volume to be queried immediately at capture
startup, rather than waiting the usual one second interval.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1064 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 17:43:05 +00:00
henrik.lundin@webrtc.org
524eb48081 Removing deprecated NetEQ APIs
Removing WebRtcNetEQ_GetPreferredBufferSize and
WebRtcNetEQ_GetCurrentDelay and all dependent APIs.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1063 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 16:21:22 +00:00
xians@webrtc.org
0dffc6449a To be able to get webrtc into chrome, we need to reduce the size of the binary and the usage of memory.
This patch disbale some codecs which are not considered necessary. 
Review URL: http://webrtc-codereview.appspot.com/299001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1062 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 15:35:44 +00:00
stefan@webrtc.org
0c2adf0b75 Fix bug introduced when enabling VP8 frame dropping.
Also fixes two unit test mismatches.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1061 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 14:41:58 +00:00
stefan@webrtc.org
ac2c677bf6 Make all video_coding tests use the resources and output directories.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1060 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 14:23:39 +00:00
andrew@webrtc.org
268257475b Fix one more Objective-C clang error.
(Analogous to r1056).

BUG=issue78

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1058 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-30 00:54:04 +00:00
punyabrata@webrtc.org
c9801465b6 Adding a check to ensure that the memcpy does not exceed bounds of the arrays.
Review URL: http://webrtc-codereview.appspot.com/290007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1055 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 18:49:54 +00:00
andrew@webrtc.org
1e91693fe2 Move stream_delay check to ProcessStream().
- was_stream_delay_set_ was being incorrectly reset in
AnalyzeReverseStream().
- Added tests to catch this case.

BUG=
TEST=audioproc_unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1054 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 18:28:57 +00:00
henrik.lundin@webrtc.org
fc9b903fbe Enable NetEQ statistics unit testing
Adding test target NetEqDecodingTest::TestNetworkStatistics.
Update neteq_unittest to get files from resources folder.
Update DEPS file to get resources revision 2.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1050 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 15:38:27 +00:00
henrik.lundin@webrtc.org
2d8125dd1a Testing NetEQ network statistics
Implementing helper function for new unit test
NetEqDecodingTest::TestNetworkStatistics. The test itself
remains to be defined. (Will be added in a coming CL.)
This change required some refactoring of the test code
to avoid excessive code duplication.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1049 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 14:30:28 +00:00
stefan@webrtc.org
932ab18d32 Default to always NACKing residual losses when having both FEC and NACK.
BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1047 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 11:33:31 +00:00
bjornv@webrtc.org
4b80eb4fcd Name change resampler.c/h to aec_resampler.c/h.
To avoid possible conflict with resampler in common_audio.
Review URL: http://webrtc-codereview.appspot.com/296006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1046 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 08:44:01 +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
andrew@webrtc.org
400ad6928e Fix compile warning in NS.
BUG=issue151
TEST=audioproc_unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1041 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-28 21:33:42 +00:00
marpan@webrtc.org
d1b7932adf VP8: Setting non-zero (conservative) threshold for frame dropper.
Review URL: http://webrtc-codereview.appspot.com/291001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1040 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-28 19:20:31 +00:00
andrew@webrtc.org
1e39bc80dc Handle debug files from multiple AEC instances.
Review URL: http://webrtc-codereview.appspot.com/295006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1036 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-27 23:46:23 +00:00
andrew@webrtc.org
a919d3a643 Don't return a zero delay with insufficient data.
For estimating a delay over a long segment (e.g. a file) this can
throw off the estimate. Better not to add values to the AEC's histogram
until they're reliable.

BUG=
TEST=audiproc, audioproc_unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1035 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-27 23:40:58 +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
0fcc2eb368 Cleaning up neteq_unittest
- Conforming to testing standards.
- Fixing a way of generating new reference output files.
- ifdef the test to run only on linux 64-bit
- Renaming unittest source file.
- Renaming test vectors

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1028 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 13:43:42 +00:00
henrik.lundin@webrtc.org
789da89d37 Fix a valgrind warning in NetEQ
The special cases for packet sizes <= 10 ms (one case for each
sample rate) resulted in reading outside of the pw16_decoded
vector. This is now fixed by making sure that WebRtcSpl_DownsampleFast
gets correct input and output vector lengths.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1027 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 12:35:31 +00:00
stefan@webrtc.org
0ee8ba1929 Remove WebRTC dependency on libvpx_lib and libvpx_include.
Removes dependencies on libvpx_lib and libvpx_include targets when
building with Chromium.

BUG=
TEST=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1026 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 12:12:43 +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
braveyao@webrtc.org
0a18522e1b Add support to 96kHz sampling rate to Windows CoreAudio interface.
Review URL: http://webrtc-codereview.appspot.com/295003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1018 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-25 02:45:39 +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
kjellander@webrtc.org
d492f72e43 Added empty unit tests to get code coverage measured.
In order to get code coverage recorded, there must be an executing test that is linked to the code to measure.
These projects are currently not showing up in the code coverage.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1010 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-24 07:20:00 +00:00
andrew@webrtc.org
ba028a31c9 Fix sample rate printout in process_test.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1008 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 20:37:12 +00:00
henrik.lundin@webrtc.org
4257790d2d NetEQ-related bug in ACM
Fixing a bug when creating new NetEQ slave instances in ACM.
The old code called WebRtcNetEQ_GetCurrentDelay() for the
master instance to get a delay value for WebRtcNetEQ_SetExtraDelay().
This is wrong, since WebRtcNetEQ_GetCurrentDelay() reports on the
current total buffer length, while WebRtcNetEQ_SetExtraDelay() is
the extra delay that is desired to in order to sync with video.

The fix includes keeping the extra delay value in a member variable
in the ACMNetEQ class.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1001 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 13:04:05 +00:00
kjellander@webrtc.org
543c3eaa46 Fixing Release compilation errors
Review URL: http://webrtc-codereview.appspot.com/267026

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1000 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 12:20:35 +00:00
henrik.lundin@webrtc.org
89ab652250 Cleaning up NetEQ statistics
Removed struct MCUStats_t and all references to it.
Removed totalDiscardedPackets and totalFlushedPackets
from the PacketBuf_t struct.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@999 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 11:06:05 +00:00
henrik.lundin@webrtc.org
df10de4b27 Removing statistics API from NetEQ
Removing WebRtcNetEQ_GetJitterStatistics(),
WebRtcNetEQ_ResetJitterStatistics(), and the associated
struct WebRtcNetEQ_JitterStatistics. The change ripples
through all the way to the VoiceEngine API.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@998 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 09:36:23 +00:00
braveyao@webrtc.org
7d3e9498bc This CL is to support certain audio devices which don't offer volume control. Try to be more compatible to those rare cases.
Review URL: http://webrtc-codereview.appspot.com/276011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@997 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 03:35:42 +00:00
mikhal@webrtc.org
2b838b4121 video_coding: updating the session info unit test following recent changes
Review URL: http://webrtc-codereview.appspot.com/290002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@996 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 00:20:19 +00:00
mikhal@webrtc.org
425b377973 video_coding: Updating internal_defines to resolve latest build error. Refers to JB flush update.
Review URL: http://webrtc-codereview.appspot.com/289001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@995 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 23:41:29 +00:00
mikhal@webrtc.org
f13388f134 video_coding: Requesting a key frame after a JB flush
Review URL: http://webrtc-codereview.appspot.com/280006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@994 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:57:51 +00:00
mikhal@webrtc.org
6b9a7f8704 video_coding: Allowing for a decodable state independent of selective nacking
Review URL: http://webrtc-codereview.appspot.com/263001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@993 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:48:20 +00:00
andrew@webrtc.org
828af1b4b9 Add lookahead to the delay estimator.
TEST=audioproc_unittest

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@992 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:40:27 +00:00
andrew@webrtc.org
5a529395aa Make DMO init safe when not supported.
BUG=issue133
TEST=voe_auto_test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@990 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 18:04:26 +00:00