Commit Graph

199 Commits

Author SHA1 Message Date
2f84afad30 Merge r4326 from stable to trunk.
r4326 was mistakenly committed to stable, so this is to re-merge back to trunk.

Add new interface to support multiple sources in webrtc.
CaptureData() will be called by chrome with a flag |need_audio_processing| to
indicate if the data needs to be processed by APM or not. Different from the old
interface that will send the data to all voe channels, the new interface will
specify a list of voe channels that the data is demultiplexing to.

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4449 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:23:37 +00:00
64e2cbf184 clean up incomplete revert in r4357
Also revert r4319, will follow up with pbos

Reason for recent series of reverts: video freezes when testing with packet loss

R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4359 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 21:52:59 +00:00
aa4d96a134 Revert r4301
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4357 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 19:25:04 +00:00
4888fd4827 Revert r4321 "Fix uninitialized value warning in rtp_payload_registry and make sure we return an error if the payload type isn't registered"
R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4345 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-15 21:21:48 +00:00
b7eda43810 Revert r4322 "Support sending multiple report blocks and keeping track of statistics on
several SSRCs"

R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4344 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-15 21:08:27 +00:00
5b10d8fb18 Fix some voe_auto_test uninitialised-value errors.
BUG=
R=tommi@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4332 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-11 15:50:07 +00:00
717d147ebb Support sending multiple report blocks and keeping track of statistics on several SSRCs.
BUG=1811
TEST=vie_auto_test --automated, voe_auto_test --automated, trybots
R=andresp@webrtc.org, tommi@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4322 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 13:39:27 +00:00
9de89a6f6b Fix uninitialized value warning in rtp_payload_registry and make sure we return an error if the payload type isn't registered.
R=pbos@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4321 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 12:42:15 +00:00
08933a5dfb Initialize payload-type frequency in channel.cc.
Uninitialized values triggered divide-by-zero crashes in voe_auto_test.

BUG=
R=stefan@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4319 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 10:06:29 +00:00
66b2e5c05a Breaking out receive-stats, rtp-payload-registry and rtp-receiver from the
rtp_rtcp implementation.

This refactoring significantly reduces the receive-side RTP parser and receiver
complexity, and makes it possible to implement RTX correctly by having two
instances of receive-statistics.

With this change the dead-or-alive and packet timeout APIs are removed.

TEST=trybots, vie_auto_test, voe_auto_test
BUG=1811
R=mflodman@webrtc.org, pbos@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4301 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 14:30:48 +00:00
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
da710448b2 Fix size_t to int conversion error on Win64.
TBR=pwestin

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4192 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-07 01:43:12 +00:00
8d80fa83fc Fix for STL vector function data not available.
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4190 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-06 21:33:06 +00:00
d30859e58e Connect ACM with RTP module for audio NACK.
Depends on http://review.webrtc.org/1507004/

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4189 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-06 21:09:01 +00:00
db24995680 Wire up Nack for Voe
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4184 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-05 15:33:20 +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
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
9213521ea9 Remove const for plain data types in voice_engine/
BUG=1644
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4018 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 08:31:39 +00:00
4392d5f9f8 Fix for "RTP dynamic payload type 100 is reserved"
TBR=perkj
BUG=227036 (in crbug.com)

TEST=out\Debug\voe_auto_test.exe --automated --gtest_filter=Dtmf* where I
manually modified the test and used 100 as new PT (which I first verified was
already used by CN, 48000).

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3859 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-17 07:34:25 +00:00
1de01354e6 Adding playout buffer status to the voe video sync
Review URL: https://webrtc-codereview.appspot.com/1311004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3835 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-11 20:23:35 +00:00
6141e13873 WebRtc_Word32 -> int32_t in voice_engine/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3792 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 10:09:10 +00:00
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
0c45957e3a Remove UDP transport API from VoE
Review URL: https://webrtc-codereview.appspot.com/1236004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3757 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-03 15:43:57 +00:00
a442d4d983 Removed all code enclosed in WEBRTC_SRTP #ifdefs, and the unsupported VoE SRTP APIs. Test stubs are left in place as we still have the (De)RegisterExternalEncryption() APIs, although they are currently untested.
Today I had to figure out this code was legacy. Now next person doesn't have to.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3738 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-28 09:14:36 +00:00
684f0577fb Revert r3667 and r3665
Review URL: https://webrtc-codereview.appspot.com/1199004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3668 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 23:20:57 +00:00
361bac7a4f Removed the engine API:s related to transport such as SetSendDestination, the functionality is now provided via the test frame work.
Review URL: https://webrtc-codereview.appspot.com/1029004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3665 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 17:52:42 +00:00
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
24045c5a02 None of the clients of VoE use SetNetEQBGNMode(), furthermore, NetEq 4 does not provide an API to change the mode of the background noise.
bug=issue1370
test=trybots
Review URL: https://webrtc-codereview.appspot.com/1121007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3607 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-05 03:14:22 +00:00
7a7a008031 Changing non-const reference arguments to pointers, ACM
Part of refactoring of ACM, and recent lint-warnings.
This CL changes non-const references in the ACM API to pointers.

BUG=issue1372

Committed: https://code.google.com/p/webrtc/source/detail?r=3543

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3555 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-21 10:27:48 +00:00
eb7ebf20ed Revert 3543
> Changing non-const reference arguments to pointers, ACM
> 
> Part of refactoring of ACM, and recent lint-warnings.
> This CL changes non-const references in the ACM API to pointers.
> 
> BUG=issue1372
> 
> Review URL: https://webrtc-codereview.appspot.com/1103012

TBR=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1116004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3544 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 15:57:31 +00:00
374aa49e1a Changing non-const reference arguments to pointers, ACM
Part of refactoring of ACM, and recent lint-warnings.
This CL changes non-const references in the ACM API to pointers.

BUG=issue1372

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3543 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 15:22:23 +00:00
6388c3e2fd Implement initial delay. This CL allows clients of VoE to set an initial delay. Playout of audio is delayed and the extra playout delay is maintained during the call. While packets are buffered (in NetEq) to acheive the desired delay. ACM will playout silence (zeros). Initial delay has to be set before any packet is pushed into ACM.
TEST=ACM unit test is added, also a manual integration test is writen. 
Review URL: https://webrtc-codereview.appspot.com/1097009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3506 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-12 21:42:18 +00:00
9d532fd275 Fix propagating RED paylaod-type to ACM.
BUG=issue1322
TBR=henrika@google.com
Review URL: https://webrtc-codereview.appspot.com/1086005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3449 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 18:34:19 +00:00
8c8ad85c5d fix issue 1322, accept -1 as default payload-type for redundant coding (FEC).
issue=1322 
test=trybot, voe auto-tes
Review URL: https://webrtc-codereview.appspot.com/1043007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3446 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 18:20:17 +00:00
09738616de Fixes payload spelling error.
BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3398 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-22 16:43:45 +00:00
ae1a58bba4 Replace AudioFrame's operator= with CopyFrom().
Enforce DISALLOW_COPY_AND_ASSIGN to catch offenders.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3395 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-22 04:44:30 +00:00
218c542c0b Make VoE handle longer delays
Review URL: https://webrtc-codereview.appspot.com/1047004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3385 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-17 22:25:49 +00:00
1b60ceb499 Add GetAudioFrame API to VoiceEngine.
Allows the caller to pull frames from a channel instead of sending them to the output mixer.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3273 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 23:00:29 +00:00
b718619f0a Expose NetEq playout mode off through VoiceEngine.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3272 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 21:59:14 +00:00
0870f02cdb Add API to retreive last received RTP timestamp to VoiceEngine.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3271 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 21:31:41 +00:00
42259e7ebc VoE Changes to enable dual_streaming.
TEST=added new unit-test

This CL depends on issue 933015 http://webrtc-codereview.appspot.com/933015/
which is under review. Should be committed after issue 933015 is committed.
Committed: https://code.google.com/p/webrtc/source/detail?r=3231
Review URL: https://webrtc-codereview.appspot.com/970005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3257 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-11 02:15:12 +00:00
2cf22a6abc Revert 3231 - VoE Changes to enable dual_streaming.
TEST=added new unit-test

This CL depends on issue 933015 http://webrtc-codereview.appspot.com/933015/
which is under review. Should be committed after issue 933015 is committed.
Review URL: https://webrtc-codereview.appspot.com/970005

TBR=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/929040

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3236 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-04 10:02:02 +00:00
767d87cf24 VoE Changes to enable dual_streaming.
TEST=added new unit-test

This CL depends on issue 933015 http://webrtc-codereview.appspot.com/933015/
which is under review. Should be committed after issue 933015 is committed.
Review URL: https://webrtc-codereview.appspot.com/970005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3231 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 22:51:37 +00:00
655d8f56f6 Add a kTraceTerseInfo level for non-verbose logging.
Review URL: https://webrtc-codereview.appspot.com/937023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3134 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 07:34:45 +00:00
de727ab260 Fixes http://code.google.com/p/webrtc/issues/detail?id=941
BUG=941

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3125 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-18 18:49:13 +00:00
50419b0777 Add libjingle-style stream-style logging.
Add a highly stripped-down version of libjingle's base/logging.h. It is
a thin wrapper around WEBRTC_TRACE, maintaining the libjingle log
semantics to ease a transition to that format.

Also add some helper macros for easy API and function failure logging.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3099 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-14 19:07:54 +00:00
ddcc9429e7 Check the channels in receive-side processing frames.
The number of channels must be set correctly before calling ProcessStream. This
was preventing stereo frames from being processed.

Also fix voe_cmd_test, which wasn't enabling rx NS properly.

BUG=issue713, 7375579

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3047 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-06 18:39:40 +00:00
512535097e Added buffer length when calling encrypt(). Write the extra two bytes.
BUG=934
TEST=Run VoE Autotest Encryption with Valgrind.
Review URL: https://webrtc-codereview.appspot.com/930004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2995 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 13:58:02 +00:00
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00