Commit Graph

714 Commits

Author SHA1 Message Date
76377c55b7 Remove usage of VoEAudioProcessing from WVoE/MC.
Calling APM and TransmitMixer directly instead.

BUG=webrtc:4690
TBR=peah@webrtc.org

Review-Url: https://codereview.webrtc.org/2681033010
Cr-Commit-Position: refs/heads/master@{#16734}
2017-02-21 08:54:31 +00:00
424e6cfd58 Rename some variables and methods in RTC event log.
Rename loss based and delay based bwe updates in proto (and correspondingly in the C++ code).

BUG=webrtc:6423

Review-Url: https://codereview.webrtc.org/2705613002
Cr-Commit-Position: refs/heads/master@{#16719}
2017-02-20 13:14:41 +00:00
b5848ecbf5 Revert of Delete class SSRCDatabase, and its global ssrc registry. (patchset #20 id:370001 of https://codereview.webrtc.org/2644303002/ )
Reason for revert:
Breaks webrtc_perf_tests reliably:
https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/1780
https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus4%29/builds/178

We're actively working on getting a quick version of webrtc_perf_tests up on the trybots again to prevent breakages like this: https://bugs.chromium.org/p/webrtc/issues/detail?id=7101

Original issue's description:
> Delete class SSRCDatabase, and its global ssrc registry,
> and the method RTPSender::GenerateNewSSRC.
>
> It's now mandatory for higher layers to call SetSSRC, RTPSender
> no longer allocates any ssrc by default.
>
> BUG=webrtc:4306,webrtc:6887
>
> Review-Url: https://codereview.webrtc.org/2644303002
> Cr-Commit-Position: refs/heads/master@{#16670}
> Committed: b78d4d1383

TBR=solenberg@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,ivoc@webrtc.org,nisse@webrtc.org
NOTRY=True
BUG=webrtc:4306,webrtc:6887

Review-Url: https://codereview.webrtc.org/2700413002
Cr-Commit-Position: refs/heads/master@{#16693}
2017-02-18 20:00:50 +00:00
cc8588c040 Remove the Windows Wave audio device implementation.
This implementation uses various legacy classes such as EventTimeWrapper,
CriticalSectionWrapper, EventWrapper etc and hasn't been maintained
(or used?) for a long time.

Instead of spending time on testing and updating the class, I think
we should just remove it. For versions of Windows that we support,
following Win7, we use the CoreAudio implementation.

BUG=webrtc:7183
R=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2700983002 .
Cr-Commit-Position: refs/heads/master@{#16678}
2017-02-17 22:48:07 +00:00
b78d4d1383 Delete class SSRCDatabase, and its global ssrc registry,
and the method RTPSender::GenerateNewSSRC.

It's now mandatory for higher layers to call SetSSRC, RTPSender
no longer allocates any ssrc by default.

BUG=webrtc:4306,webrtc:6887

Review-Url: https://codereview.webrtc.org/2644303002
Cr-Commit-Position: refs/heads/master@{#16670}
2017-02-17 16:34:35 +00:00
0baf55d23b Add logging of delay-based bandwidth estimate.
BUG=webrtc:6423

Review-Url: https://codereview.webrtc.org/2695923004
Cr-Commit-Position: refs/heads/master@{#16663}
2017-02-17 11:38:28 +00:00
08b19dfc67 Remove VoEVideoSync interface.
The removed tests are covered by cases in call_perf_tests.

BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2672583002
Cr-Commit-Position: refs/heads/master@{#16621}
2017-02-15 08:42:31 +00:00
e374e0139b Remove VoEExternalMedia interface.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2645033002
Cr-Commit-Position: refs/heads/master@{#16608}
2017-02-14 12:55:00 +00:00
81d93f37a5 Remove the unused and untested functions from VoERTP_RTCP.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2667423004
Cr-Commit-Position: refs/heads/master@{#16606}
2017-02-14 11:44:57 +00:00
06f240bc4f Clean out platform specific things from voice_engine_defines.h.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2689183002
Cr-Commit-Position: refs/heads/master@{#16578}
2017-02-13 12:42:52 +00:00
087bd34d23 Move AudioDecoder and related stuff to the api/ directory
BUG=webrtc:5805, webrtc:6725

Review-Url: https://codereview.webrtc.org/2668523004
Cr-Commit-Position: refs/heads/master@{#16534}
2017-02-10 16:15:44 +00:00
0289364abc Remove unused voe_stress_test.cc
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2681153003
Cr-Commit-Position: refs/heads/master@{#16513}
2017-02-09 13:03:25 +00:00
1752a10791 Remove unused voe_cpu_test.cc.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2686003004
Cr-Commit-Position: refs/heads/master@{#16508}
2017-02-09 11:25:56 +00:00
2324b35890 Remove unused voe_output_test.cc.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2684933007
Cr-Commit-Position: refs/heads/master@{#16506}
2017-02-09 09:23:25 +00:00
7de8d64f89 Wire up audio packet loss to BWE.
BUG=webtrc:5079

Review-Url: https://codereview.webrtc.org/2658233002
Cr-Commit-Position: refs/heads/master@{#16474}
2017-02-07 15:14:08 +00:00
bd9a77f4e5 Remove most of the remaining calls to VoE APIs from Audio[Send|Receive]Stream.
(TBRing webrtc/test/ OWNER)

BUG=webrtc:4690
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2669153004
Cr-Commit-Position: refs/heads/master@{#16455}
2017-02-06 20:53:57 +00:00
656610fbe7 Move frame_generator_capture.{cc, h} and video_capturer.h to video_test_common.
Remove video_capture as a dependency of test_common and add it as a dependency of modules_unittests, as it was before the refactor in https://codereview.webrtc.org/2629923002

BUG=webrtc:7037
NOTRY=True

Review-Url: https://codereview.webrtc.org/2666113003
Cr-Commit-Position: refs/heads/master@{#16439}
2017-02-06 10:21:11 +00:00
d83b9670a6 Replace consecutive-losses count by a calculation of first-order-FEC recoverability.
Note:
* PLR is calculated over all of the known packets.
* RPLR is calculated over all of the known packet *pairs*. That is, only over sets of subsequent packets where the reception status is known for both.

BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2629883003
Cr-Commit-Position: refs/heads/master@{#16401}
2017-02-01 16:36:09 +00:00
3ebbcb528b Stop using VoEVideoSync in Call/VideoReceiveStream.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2452163004
Cr-Commit-Position: refs/heads/master@{#16375}
2017-01-31 11:58:40 +00:00
9aa3f0a200 Reland of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2657563002/ )
Reason for revert:
Starting to work on a fix (it seems that there are third_party dependencies that depends on the path to the webrtc.gni file)

Original issue's description:
> Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
>
> Reason for revert:
> This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio
>
> Original issue's description:
> > Moving webrtc.gni up one level from build/
> >
> > BUG=webrtc:7030
> >
> > Review-Url: https://codereview.webrtc.org/2651543003
> > Cr-Commit-Position: refs/heads/master@{#16241}
> > Committed: 35a32700fc
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2657563002
> Cr-Commit-Position: refs/heads/master@{#16244}
> Committed: 69dc7dbe24

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2654773002
Cr-Commit-Position: refs/heads/master@{#16247}
2017-01-24 14:58:22 +00:00
69dc7dbe24 Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
Reason for revert:
This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio

Original issue's description:
> Moving webrtc.gni up one level from build/
>
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2651543003
> Cr-Commit-Position: refs/heads/master@{#16241}
> Committed: 35a32700fc

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2657563002
Cr-Commit-Position: refs/heads/master@{#16244}
2017-01-24 13:14:35 +00:00
4b7c952376 Reland of "Log audio network adapter decisions in event log."
This was originally reviewed https://codereview.webrtc.org/2559953002/

It was reverted due to a bug in the original CL, see https://codereview.webrtc.org/2631703002/

This CL is to fix and reland.

BUG=webrtc:6845

Review-Url: https://codereview.webrtc.org/2644863002
Cr-Commit-Position: refs/heads/master@{#16242}
2017-01-24 12:54:59 +00:00
35a32700fc Moving webrtc.gni up one level from build/
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2651543003
Cr-Commit-Position: refs/heads/master@{#16241}
2017-01-24 12:49:35 +00:00
435ddf978d Add TransportFeedbackPacketLossTracker.
This CL is to calculate packet loss metrics from TransportFeedback. The outcome of this will be passed down to audio encoder.

BUG=webrtc:6904

Review-Url: https://codereview.webrtc.org/2579613003
Cr-Commit-Position: refs/heads/master@{#16217}
2017-01-23 16:07:05 +00:00
d32bf75721 Pass SdpAudioFormat through Channel, without converting to CodecInst
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2516993002
Cr-Commit-Position: refs/heads/master@{#16165}
2017-01-19 15:03:59 +00:00
ece0571d44 UdpTransport:IsIpAddressValid: Added extra :: check for ipv6
The code previously allowed ipv6 addresses with less than eight sections even without all-zero sections being compacted by a ::.

BUG=webrtc:1028

Review-Url: https://codereview.webrtc.org/2606383003
Cr-Commit-Position: refs/heads/master@{#16108}
2017-01-17 10:31:37 +00:00
363a29157a Revert of Log audio network adapter decisions in event log. (patchset #14 id:320001 of https://codereview.webrtc.org/2559953002/ )
Reason for revert:
Breaks chromium.webrtc.fyi.

Original issue's description:
> Log audio network adapter decisions in event log.
>
> BUG=webrtc:6845
>
> Review-Url: https://codereview.webrtc.org/2559953002
> Cr-Commit-Position: refs/heads/master@{#16053}
> Committed: 3663681b5d

TBR=minyue@webrtc.org,henrik.lundin@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,solenberg@webrtc.org,michaelt@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6845

Review-Url: https://codereview.webrtc.org/2631703002
Cr-Commit-Position: refs/heads/master@{#16054}
2017-01-13 14:52:12 +00:00
3663681b5d Log audio network adapter decisions in event log.
BUG=webrtc:6845

Review-Url: https://codereview.webrtc.org/2559953002
Cr-Commit-Position: refs/heads/master@{#16053}
2017-01-13 14:10:16 +00:00
bf279fc4b9 Pass event log to ANA.
BUG=webrtc:6845

Review-Url: https://codereview.webrtc.org/2553413002
Cr-Commit-Position: refs/heads/master@{#16052}
2017-01-13 14:02:29 +00:00
566d820e00 Update smoothed bitrate.
BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2546493002
Cr-Commit-Position: refs/heads/master@{#16036}
2017-01-12 18:17:38 +00:00
eb4ca4e823 Replace RTC_DCHECK(false) with RTC_NOTREACHED().
Bulk of changes done using

  git grep -l 'RTC_DCHECK(false)' | \
    xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/'

peerconnection.cc also used RTC_DCHECK(false && "msg") in two places,
which were updated manually.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2623313004
Cr-Commit-Position: refs/heads/master@{#16026}
2017-01-12 10:24:27 +00:00
284542b882 Make OverheadObserver::OnOverheadChanged count RTP headers only
This lets the RTP code be unaware of lower layers, and the
SetTransportOverhead method is deleted from RTPSender and RtpRtcp.

Instead, that method is added to CongestionController and
TransportFeedbackAdapter, where it is more appropriate.

BUG=wertc:6847

Review-Url: https://codereview.webrtc.org/2589743002
Cr-Commit-Position: refs/heads/master@{#15995}
2017-01-10 16:58:32 +00:00
9774447b8f Move FilePlayer and FileRecorder to Voice Engine
Because Voice Engine was the only user.

(We have tried to land this many times before. I'm hoping that this
time all external dependencies on these files will really be gone.)

BUG=none

Review-Url: https://codereview.webrtc.org/2622493002
Cr-Commit-Position: refs/heads/master@{#15978}
2017-01-10 09:12:51 +00:00
e55b16c664 Drop unneeded include of media_file.h.
BUG=None

Review-Url: https://codereview.webrtc.org/2587403002
Cr-Commit-Position: refs/heads/master@{#15736}
2016-12-21 11:05:44 +00:00
bf65be5435 Wire-up audio BWE with overhead.
BUG=webrtc:6638

Review-Url: https://codereview.webrtc.org/2565353002
Cr-Commit-Position: refs/heads/master@{#15632}
2016-12-15 14:24:52 +00:00
a9a6d4bc2c Delete voice_engine_configurations.h
The file was aldready pruned down to the point where it only included
webrtc/typedefs.h. Therefore, all includes of
voice_engine_configurations.h are replaced with typedefs.h, except on
two occasions where it was obvously not needed.

BUG=webrtc:6506

Review-Url: https://codereview.webrtc.org/2553583002
Cr-Commit-Position: refs/heads/master@{#15547}
2016-12-12 13:03:08 +00:00
f00082da37 Move WEBRTC_VOICE_ENGINE_TYPING_DETECTION to transmit_mixer.h
BUG=webrtc:6506
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.chromium.mac:mac_chromium_rel_ng,ios-device;master.tryserver.chromium.win:win_chromium_rel_ng;master.tryserver.chromium.android:android_compile_dbg,linux_android_rel_ng

Review-Url: https://codereview.webrtc.org/2544123003
Cr-Commit-Position: refs/heads/master@{#15414}
2016-12-05 10:22:18 +00:00
6321b49a0d Move functionality out from AudioFrame and into AudioFrameOperations.
This CL is in preparation to move the AudioFrame into webrtc/api. The
AudioFrame is a POD type used for representing 10ms of audio. It
appears as a parameter and return value of interfaces being migrated
to webrtc/api, in particular AudioMixer.

Here, methods operator+=, operator>>=, Mute are
moved into a new target webrtc/audio/utility/audio_frame_operations,
and dependencies are changed to use
the new versions. The old AudioFrame methods are marked deprecated.

The audio frame utilities in webrtc/modules/utility:audio_frame_operations
are also moved to the new location.

TBR=kjellander@webrtc.org
BUG=webrtc:6548
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2424173003
Cr-Commit-Position: refs/heads/master@{#15413}
2016-12-05 09:46:20 +00:00
00bceb1eda Deprecated SetAudioPacketSize from RTPSender and removed calls to it.
The packet size was only used to control how often to output DTMF
packets. However, it likely did not work as intended, since that
interval was only set during initialization. No changes to the packet
size, like what AudioEncoder::Num10MsFramesInNextPacket could
indicate, were picked up. The value was instead taken from an entry in
ACMCodecDB.

Since it was not-fully-functional, its exact value didn't seem to
matter and it was getting in the way of making it possible to supply
an external audio encoder factory, I've decided to remove it
altogether. The DTMF code now uses an interval of 50 ms regardless,
which is a value recommended by the RFC.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2545753002
Cr-Commit-Position: refs/heads/master@{#15380}
2016-12-02 10:40:12 +00:00
e066b302ab Remove API-related #defines from voice_engine_configurations.h
BUG=webrtc:6506
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.chromium.mac:mac_chromium_rel_ng,ios-device;master.tryserver.chromium.win:win_chromium_rel_ng;master.tryserver.chromium.android:android_compile_dbg,linux_android_rel_ng

Review-Url: https://codereview.webrtc.org/2549443002
Cr-Commit-Position: refs/heads/master@{#15379}
2016-12-02 10:30:23 +00:00
06c1d6484e Prep to remove API-related #defines from voice_engine_configurations.h
The follwing #defines are marked as deprecated:
- WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API
- WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API
- WEBRTC_VOICE_ENGINE_RTP_RTCP_API
- WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
- WEBRTC_VOICE_ENGINE_HARDWARE_API
- WEBRTC_VOICE_ENGINE_FILE_API
- WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API
- WEBRTC_VOICE_ENGINE_CODEC_API
- WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API

BUG=webrtc:6506

Review-Url: https://codereview.webrtc.org/2538093003
Cr-Commit-Position: refs/heads/master@{#15341}
2016-11-30 16:21:54 +00:00
9332b7d0ad Reland "Update rtt on audio only calls".
https://codereview.webrtc.org/2402333002

BUG=webrtc:6508

Review-Url: https://codereview.webrtc.org/2530383002
Cr-Commit-Position: refs/heads/master@{#15340}
2016-11-30 15:51:19 +00:00
26bddb92f0 Replace test_support_main by test_main and get rid of test_support_main_threaded_mac
test_support_main_threaded_mac doesn't seem to be used. It looks like it was
last used about a year and a half ago, and was removed in
https://webrtc-codereview.appspot.com/55379004

BUG=webrtc:6424
R=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2540693002
Cr-Commit-Position: refs/heads/master@{#15332}
2016-11-30 14:12:10 +00:00
78b4d56535 Relanding "Pass time constant to bwe smoothing filter."
An earlier attempt to land this was in https://codereview.webrtc.org/2518923003/

It was failed because it removed an API. This CL fixes this.

BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2536753002
Cr-Commit-Position: refs/heads/master@{#15325}
2016-11-30 12:47:47 +00:00
097529f34c Remove 3 defines in voice_engine_configurations.h
WEBRTC_VOICE_ENGINE_AGC, WEBRTC_VOICE_ENGINE_ECHO, and
WEBRTC_VOICE_ENGINE_NR are now gone.

BUG=webrtc:6506

Review-Url: https://codereview.webrtc.org/2530373002
Cr-Commit-Position: refs/heads/master@{#15309}
2016-11-30 08:12:57 +00:00
5049942219 Refactor RMSLevel and give it new functionality
This change rewrites RMSLevel, making it accept an ArrayView as input,
and modify the implementation somewhat. It also makes the class keep
track of the peak RMS in addition to the average RMS over the
measurement period.

New tests are added to cover the new functionality.

BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2535523002
Cr-Commit-Position: refs/heads/master@{#15294}
2016-11-29 12:26:31 +00:00
af476c737f RTC_[D]CHECK_op: Remove "u" suffix on integer constants
There's no longer any need to make the two arguments have the same
signedness, so we can drop the "u" suffix on literal integer
arguments.

NOPRESUBMIT=true
BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2535593002
Cr-Commit-Position: refs/heads/master@{#15280}
2016-11-28 23:21:51 +00:00
6287e82b9b Revert of Pass time constant to bwe smoothing filter. (patchset #8 id:140001 of https://codereview.webrtc.org/2518923003/ )
Reason for revert:
Unfortunately, this change breaks internal projects. Specifically the change to the CongestionController interface means anything implementing it will be forced to change in lock-step.

Original issue's description:
> Pass time constanct to bwe smoothing filter.
>
> BUG=webrtc:6443, webrtc:6303
>
> Committed: https://crrev.com/9abbf5ae4ec7d688a9b4aa03a405f3faadb74b90
> Cr-Commit-Position: refs/heads/master@{#15266}

TBR=minyue@webrtc.org,stefan@webrtc.org,solenberg@webrtc.org,michaelt@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2532993002
Cr-Commit-Position: refs/heads/master@{#15272}
2016-11-28 16:05:23 +00:00
a8eb756a34 Moved transport.h from webrtc/ to webrtc/api, created build target and updated WebRTC dependencies.
transport.h defines an interface for sending rtp and rtcp packets,
which is used by MediaChannel in webrtc/media/engine,
{Audio|Video}{Send|Receive}Stream and in a few other
places. It was part of the build target //webrtc:webrtc, which is a monolithic target with
all webrtc production code. This CL moves the header to its own target in webrtc/api
and deprecates the old location.

Targets in webrtc/api should in general only depend on other
targets in webrtc/api. The target webrtc/api:call_api depends on
transport.h. This change also makes webrtc/voice_engine pass GN's header
include checker and is needed in order for webrtc/api:call_api to pass
it.

transport.h will be completely removed in a follow-up CL in a few weeks
after clients have updated their includes.

NOTRY=True

BUG=webrtc:5589, webrtc:5878, webrtc:6785

Review-Url: https://codereview.webrtc.org/2426563003
Cr-Commit-Position: refs/heads/master@{#15267}
2016-11-28 15:02:19 +00:00
9abbf5ae4e Pass time constanct to bwe smoothing filter.
BUG=webrtc:6443, webrtc:6303

Review-Url: https://codereview.webrtc.org/2518923003
Cr-Commit-Position: refs/heads/master@{#15266}
2016-11-28 15:00:24 +00:00