f3930e941c
Small refactoring of AudioProcessing use in channel.cc.
...
- Apply consistent naming.
- Use a scoped_ptr for rx_audioproc_.
- Remove now unnecessary AudioProcessing::Destroy().
R=bjornv@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2184007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4784 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 22:37:32 +00:00
e509f943ed
This issue is related to
...
https://chromereviews.googleplex.com/9908014/
I was thinking about shipping ACM2 from the signal repository. There seems to be too many changes in one CL.
BUG=
R=andrew@webrtc.org , turaj@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2171004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4733 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 17:03:00 +00:00
7bb8f02274
Adds support for combining RTX and FEC/RED.
...
This is accomplished by breaking out RTX and FEC/RED functionality from the RTP module and keeping track of the base payload type, that is the payload type received when not receiving RTX.
Enables retransmissions over RTX by default in the loopback test.
BUG=1811
TESTS=voe/vie_auto_test --automated and trybots.
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2154004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4692 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:40:11 +00:00
b295a3f592
Update SSRC in RtpRtcp for audio channel so that it can have NTP values for further AV sync.
...
Background:
Since we had http://review.webrtc.org/2048004 , the SSRC value in
RtpRtcp for audio hasn't been updated. Because this prevents NTP update in RtpRtcp, the sync logic in ViESyncModule::Process() does not work.
BUG=b/10484087
TEST= pass 'git try' except tests already broken in http://build.chromium.org/p/tryserver.webrtc/console
R=henrika@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2131004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4638 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-29 07:34:12 +00:00
286fe0b04d
Revert 4585 "Revert "Revert 4582 "Reverts a second set of reverts caused by a bug in ..."""
...
...and fixes the RTCP bug.
BUG=2277
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2089004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4588 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:58:21 +00:00
a0218a84d1
Revert 4582 "Reverts a second set of reverts caused by a bug in ..."
...
> Reverts a second set of reverts caused by a bug in a dependency.
>
> Revert "Revert r4328"
>
> Revert "Revert r4322 "Support sending multiple report blocks and keeping track
> of statistics on"
>
> BUG=1811
> R=henrika@webrtc.org , pbos@webrtc.org , tina.legrand@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2072004
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2087004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4585 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 19:44:13 +00:00
1a65d6c36b
Reverts a second set of reverts caused by a bug in a dependency.
...
Revert "Revert r4328"
Revert "Revert r4322 "Support sending multiple report blocks and keeping track
of statistics on"
BUG=1811
R=henrika@webrtc.org , pbos@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2072004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4582 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 16:22:21 +00:00
822fbd8b68
Update talk to 50918584.
...
Together with Stefan's http://review.webrtc.org/1960004/ .
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2048004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:38:54 +00:00
09e8c47ee5
Merge r4374 from stable to trunk.
...
r4374 was mistakenly committed to stable, so this is to re-merge back to trunk.
Store the sequence number in StopSend() and resume it in StartSend().
When restarting the microphone device, we call StopSend() first, then
StartSend() later. Since we reset sequence number in StopSend(), it sometimes
causes libSRTP to complain about packets being replayed. Libjingle work around
it by caching the sequence number in WebRtcVoiceEngine.cc, and call
SetInitSequenceNumber() to resume the sequence number before StartSend().Store the sequence number in StopSend() and resume it in StartSend().
When restarting the microphone device, we call StopSend() first, then
StartSend() later. Since we reset sequence number in StopSend(), it sometimes
causes libSRTP to complain about packets being replayed. Libjingle work around
it by caching the sequence number in WebRtcVoiceEngine.cc, and call
SetInitSequenceNumber() to resume the sequence number before StartSend().
This patch fixes this problem by storing the sequence number in StopSend(), and
resume it in StartSend(). So that we can remove the workaround in libjingle.
BUG=2102
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1922004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4451 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:30:19 +00:00
8fff1f065e
Merge r4394 from stable to trunk.
...
r4326 was mistakenly committed to stable, so this is to re-merge back to trunk.
Fixed the AGC and interface problems on the new path.
In order to make the AGC work properly, we need to cache the volume value passed
by the callback, compare it with the value returned by
shared->transmit_mixer()->CaptureLevel(). If they are the same, we need to
return 0 to indicate no volume needs changing, otherwise return the new volume.
By doing this, we avoid setting the volume all the same, which allows the users
to change the volume manually.
This patch also fixes some minor issues with the interfaces too: make the int
channel[] const, and correct the order of the input params in
channel::Demultiplex.
R=tommi@webrtc.org
BUG=[2134]
TEST=compile && manual AGC test
Review URL: https://webrtc-codereview.appspot.com/1921004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4450 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:27:42 +00:00
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