Commit Graph

7329 Commits

Author SHA1 Message Date
8513029e1f Remove old WebRTC-NewVideoJitterBuffer used for testing the NackModule.
This experiment was used to test the NackModule but will soon (tm) be used to
test the completly new video jitter buffer.

BUG=webrtc:5514
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2123913002 .

Cr-Commit-Position: refs/heads/master@{#13395}
2016-07-06 14:10:45 +00:00
262ba77d78 Add fuzzer for TURN unwrap.
This is called on received network packets if dump_rtp_packets_ is on.

NOTRY=true

Review-Url: https://codereview.webrtc.org/2126463002
Cr-Commit-Position: refs/heads/master@{#13394}
2016-07-06 12:59:34 +00:00
0c6f0f6d96 Fix for the JNI interface of RtcEventLog functions.
BUG=webrtc:4741

Review-Url: https://codereview.webrtc.org/2128483002
Cr-Commit-Position: refs/heads/master@{#13393}
2016-07-06 11:34:34 +00:00
75c88da8dd Remove nonexistant test.
I did some archaelogy here and found that the binary was (incorrectly?)
added here: https://codereview.webrtc.org/1903663002/. I can't find any
trace that a rtc_sdk_peerconnection_objc_tests has ever existed, or at
least that it doesn't exist now.

Removing it seems the right thing to do. However, I also see
rtc_sdk_peerconnection_objc target is folded into rtc_unittests in
webrtc_tests.gyp, but that target isn't listed in common_tests.json.
Should it be?

BUG=623500
TBR=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2121963002
Cr-Commit-Position: refs/heads/master@{#13392}
2016-07-06 08:24:22 +00:00
b224d80166 Camera2 in AppRTC Android Demo.
Add an option to use Camera2 implemantion of CameraVideoCapturer in
AppRTC Android Demo. It is enabled by default.

BUG=webrtc:5519

Review-Url: https://codereview.webrtc.org/2077663003
Cr-Commit-Position: refs/heads/master@{#13391}
2016-07-06 07:58:35 +00:00
9c0b551425 Fix bug where min transmit bitrate wasn't working
A recent refactoring (r13192) introduced a bug where the min transmit
config wasn't being respected. Specifically, if a VideoSendStream was
created without it and the reconfigured, the min transmit bitrate would
not take effect. Probably the other way around as well.

BUG=webrtc::5687

Review-Url: https://codereview.webrtc.org/2106183002
Cr-Commit-Position: refs/heads/master@{#13390}
2016-07-06 07:54:35 +00:00
3f33e2aa54 Minor refactoring of the AudioDeviceBuffer class
BUG=NONE
NOTRY=true

Review-Url: https://codereview.webrtc.org/2117303002
Cr-Commit-Position: refs/heads/master@{#13389}
2016-07-06 07:34:02 +00:00
fa1d568730 Added NiceMock for MockRtcEventLog in several unittests where we don't care about the event logging.
BUG=webrtc:4741
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2121993002 .

Cr-Commit-Position: refs/heads/master@{#13388}
2016-07-06 07:12:21 +00:00
f5b2e519b4 Fix stats for encoder target bitrate when target rate is zero.
When the target bitrate is zero, currently  VideoSendStream.Stats.target_media_bitrate_bps show the last set rate before the target was set to zero.

BUG=webrtc::5687 b/29574845

Review-Url: https://codereview.webrtc.org/2122743003
Cr-Commit-Position: refs/heads/master@{#13386}
2016-07-05 15:34:08 +00:00
0e7000b20a Changes in UI and minor extra functionality for rtp_analyzer.
1. The tool now displays packet loss in %.

2. It can print header information to stdout like rtp_analyze.

3. It has a command-line switch that lets you override the sample rate
guessing. With the flag "--query_sample_rate" the tool asks you to
always provide a sample rate.

4. Less decimals are printed for the estimated sample rate.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2123773002
Cr-Commit-Position: refs/heads/master@{#13385}
2016-07-05 14:53:45 +00:00
36a321d2e3 Update the current RTP parser fuzzer to handle header extensions.
This changes the corpus semantics, but libfuzzer should be smart enough to figure it out, and if not then we can add a seed_corpus to help.

BUG=webrtc:4771
NOTRY=true

Review-Url: https://codereview.webrtc.org/2072473002
Cr-Commit-Position: refs/heads/master@{#13384}
2016-07-05 14:20:30 +00:00
9b2ce6be09 Padding is now used to check for continuity in the packet sequence.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2051453002
Cr-Commit-Position: refs/heads/master@{#13383}
2016-07-05 12:04:52 +00:00
9a123aa0c3 Rename apprtc lib to match GN lib rules.
Chromium's src/build/config/android/internal_rules.gni says java lib
target names must end with _java or _javalib.

Review-Url: https://codereview.webrtc.org/2117283002
Cr-Commit-Position: refs/heads/master@{#13382}
2016-07-05 10:21:43 +00:00
956ed71a11 TransportFeedback must be able to start with dropped packets.
A bug in the transpot feedback adapter causes new feedback message to
always start with a received packet. This makes it impossible for the
receiver to distinguish from actual dropped packets and dropped feedback
messages.

BUG=webrtc:6073
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2122863002 .

Cr-Commit-Position: refs/heads/master@{#13381}
2016-07-05 10:01:08 +00:00
552866c402 FrameObject inherit from VCMEncodedFrame.
Let the FrameObject class inherit from VCMEncodedFrame since the rest of the
decoding pipeline use VCMEncodedFrame.

BUG=webrtc:5514
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2110543005 .

Cr-Commit-Position: refs/heads/master@{#13380}
2016-07-04 14:19:11 +00:00
14d5dbe5b3 Reland of "Move RtcEventLog object from inside VoiceEngine to Call.", "Fix to make the start/stop functions for the Rtc Eventlog non-virtual." and "Fix for RtcEventLog ObjC interface"
The breaking tests in Chromium have been temporarily disabled, they will be fixed and reenabled soon.

Original CLs: https://codereview.webrtc.org/1748403002/, https://codereview.webrtc.org/2107253002/ and https://codereview.webrtc.org/2106103003/.

TBR=solenberg@webrtc.org,tommi@webrtc.org,stefan@webrtc.org,terelius@webrtc.org,tkchin@webrtc.org
BUG=webrtc:4741, webrtc:5603, chromium:609749

Review-Url: https://codereview.webrtc.org/2110113003
Cr-Commit-Position: refs/heads/master@{#13379}
2016-07-04 14:07:03 +00:00
77ad394fa6 A simple copy of the old audio mixer to a new directory.
I have added build files and renamed the mixer so that it doesn't conflict with the old one. The header includes now point to this copy of the mixer. I have also fixed some of the more obvious cases of style guide non-conformance and run 'PRESUBMIT' on the old mixer.

This is a first step in the creation of a new mixing module that will replace AudioConferencMixer and OutputMixer.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2104363003
Cr-Commit-Position: refs/heads/master@{#13378}
2016-07-04 13:33:09 +00:00
0fd6801c3c clang-format on AudioDeviceBuffer
BUG=NONE
R=magjed@webrtc.org

Review URL: https://codereview.webrtc.org/2119093003 .

Cr-Commit-Position: refs/heads/master@{#13377}
2016-07-04 11:01:41 +00:00
414dda1a10 Change VCMFrameBuffer and VCMEncodedFrame to use rotation from base class EncodedImage.
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2037633002
Cr-Commit-Position: refs/heads/master@{#13376}
2016-07-04 08:45:28 +00:00
2c332bb682 Simplify logging statements.
BUG=NONE
R=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/2115603004 .

Cr-Commit-Position: refs/heads/master@{#13375}
2016-07-04 07:03:54 +00:00
bb01781982 Adding back removed methods to MockNonlinearBeamformer.
This is temporary, until downstream dependencies are updated.

TBR=aluebs@webrtc.org

Review-Url: https://codereview.webrtc.org/2121553002
Cr-Commit-Position: refs/heads/master@{#13374}
2016-07-02 20:34:56 +00:00
d8f6fc4656 Make the state transition for a PortAllocatorSession in each derived class instead of in the base class.
Putting them in the base class may potentially break subclasses if they
have not called the same method in the base class.

R=deadbeef@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2120733002 .

Cr-Commit-Position: refs/heads/master@{#13372}
2016-07-02 00:31:24 +00:00
f4022ffa1a Pull out the PostFilter to its own NonlinearBeamformer API
This is done to avoid having a nonlinear component in the AEC path.
Now the linear delay and sum is run before the AEC and the postfilter after it.

This change landed originally at: https://codereview.webrtc.org/1982183002/

R=peah@webrtc.org
TBR=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/2110593003 .

Cr-Commit-Position: refs/heads/master@{#13371}
2016-07-02 00:19:32 +00:00
1aa821980d Add logging to Intelligibility Enhancer
It logs when the IE is activated and deactivated.

R=ivoc@webrtc.org, turaj@webrtc.org

Review URL: https://codereview.webrtc.org/2104273002 .

Cr-Commit-Position: refs/heads/master@{#13370}
2016-07-02 00:16:13 +00:00
d78ecf78c9 Add pruneTurnPorts to the java RTCConfiguration.
And adds a log about the flag.

BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2118873002 .

Cr-Commit-Position: refs/heads/master@{#13369}
2016-07-01 21:40:53 +00:00
e2e35ca55d Add pruneTurnPorts to the IOS RTCConfiguration.
BUG=
R=pthatcher@webrtc.org
TBR=tkchin@webrt.org

Review URL: https://codereview.webrtc.org/2120553002 .

Cr-Commit-Position: refs/heads/master@{#13368}
2016-07-01 21:22:30 +00:00
5622c5eae5 If continual gathering is enabled,
we will periodically check if any network does not have any connection on it and if yes, attempt to re-gather on those networks.

BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2025573002 .

Cr-Commit-Position: refs/heads/master@{#13367}
2016-07-01 20:59:39 +00:00
e9851116e2 Adding API for "presume writable when fully relayed" ICE option.
For explanation of what this is, see:
https://codereview.webrtc.org/2063823008/

R=glaznev@webrtc.org, pthatcher@webrtc.org
TBR=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/2107303003 .

Cr-Commit-Position: refs/heads/master@{#13366}
2016-07-01 18:11:22 +00:00
fe3654d5dc Add native handle support to SimulcastEncoderAdapter.
If all subencoders support textures, the adapter will claim support.
Texture frames will be passed on directly to subencoders, without any
attempt at scaling, and subencoders will be expected to sample/scale
correctly from source textures.

BUG=
NOTRY=true

Review-Url: https://codereview.webrtc.org/2099483002
Cr-Commit-Position: refs/heads/master@{#13365}
2016-07-01 16:06:00 +00:00
897d932e0b Android SurfaceViewRenderer: Fix deadlock
Deadlock caused by two methods grabbing two locks in the opposite order:
renderFrame():
  handlerLock
    layoutLock
onMeasure():
  layoutLock
    handlerLock

This CL removs the nested locking to fix the deadlock and make it less
error prone for the future.

BUG=webrtc:6003
R=sakal@webrtc.org

Review URL: https://codereview.webrtc.org/2111933002 .

Cr-Commit-Position: refs/heads/master@{#13364}
2016-07-01 13:52:25 +00:00
d34a711f22 Reland of Combine webrtc/api/java/android and webrtc/api/java/src. (patchset #1 id:1 of https://codereview.webrtc.org/2106333005/ )
Reason for revert:
Issues fixed

Original issue's description:
> Revert of Combine webrtc/api/java/android and webrtc/api/java/src. (patchset #1 id:1 of https://codereview.webrtc.org/2111823002/ )
>
> Reason for revert:
> Breaks downstream dependencies
>
> Original issue's description:
> > Combine webrtc/api/java/android and webrtc/api/java/src.
> >
> > It used to be that there was a Java api for devices not running Android
> > but that is no longer the case. I combined the directories and made
> > the folder structure chromium style.
> >
> > BUG=webrtc:6067
> > R=magjed@webrtc.org, tommi@webrtc.org
> >
> > Committed: ceefe20dd6
>
> TBR=magjed@webrtc.org,tommi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6067
>
> Committed: 9b0dc622d4

TBR=magjed@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6067

Review-Url: https://codereview.webrtc.org/2111923003
Cr-Commit-Position: refs/heads/master@{#13363}
2016-07-01 12:10:59 +00:00
e703f41336 Remove unused copy of last received keyframe.
Copy method was the user of those fields but it has been removed in May 2015 by refs/heads/master@{#9244}.

R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/2113973002 .

Cr-Commit-Position: refs/heads/master@{#13362}
2016-07-01 11:36:21 +00:00
84cab205f5 UMA log for audio_device Init and Start(Playout|Recording). Make Init return a more specific error code, if possible.
BUG=webrtc:5761
R=asapersson@webrtc.org, henrika@webrtc.org

Review URL: https://codereview.webrtc.org/2103863004 .

Cr-Commit-Position: refs/heads/master@{#13361}
2016-07-01 11:35:31 +00:00
48a4beb7a4 Auto pause video streams based on encoder target bitrate.
This CL changes the auto-pause logic to suspend a stream based on the
encoder target bitrate instead of the allocated bitrate for a stream,
to account for possible protection, e.g. FEC and NACK.

This CL also adds periodic logging of the current BWE and possibility
to run with suspension in video loopback test.

BUG=webrtc:5868
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2117493002 .

Cr-Commit-Position: refs/heads/master@{#13360}
2016-07-01 11:04:10 +00:00
02bafc6379 Add a race-checking mechanism.
Permits CHECKing/DCHECKing that methods are being accessed in a
thread-safe manner, even if they are not used by one single thread
(thread pools such as VideoToolbox OK).

BUG=
R=danilchap@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/2097403002 .

Cr-Commit-Position: refs/heads/master@{#13358}
2016-07-01 10:45:29 +00:00
9b0dc622d4 Revert of Combine webrtc/api/java/android and webrtc/api/java/src. (patchset #1 id:1 of https://codereview.webrtc.org/2111823002/ )
Reason for revert:
Breaks downstream dependencies

Original issue's description:
> Combine webrtc/api/java/android and webrtc/api/java/src.
>
> It used to be that there was a Java api for devices not running Android
> but that is no longer the case. I combined the directories and made
> the folder structure chromium style.
>
> BUG=webrtc:6067
> R=magjed@webrtc.org, tommi@webrtc.org
>
> Committed: ceefe20dd6

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

Review URL: https://codereview.webrtc.org/2106333005 .

Cr-Commit-Position: refs/heads/master@{#13357}
2016-07-01 07:37:49 +00:00
ceefe20dd6 Combine webrtc/api/java/android and webrtc/api/java/src.
It used to be that there was a Java api for devices not running Android
but that is no longer the case. I combined the directories and made
the folder structure chromium style.

BUG=webrtc:6067
R=magjed@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/2111823002 .

Cr-Commit-Position: refs/heads/master@{#13356}
2016-07-01 07:09:09 +00:00
e15032c750 Remove all old suspension logic.
I'm also removing media_optimization_unittest.cc, since it only tested the
suspension logic and nothing else.

R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/2119503002 .

Cr-Commit-Position: refs/heads/master@{#13355}
2016-07-01 07:00:19 +00:00
b9e7b4ad66 Add config to prune low-priority TURN ports for creating connections
When the flag prune_turn_ports is set, When a high-priority turn port becomes available, it will prune low-priority ones. The pruned port will not be used for creating connections locally and its candidates will not be sent over to the remove side (unless they have been sent before being pruned).

This effectively reduces the number of TURN candidates and connections created by TURN ports.

BUG=
R=deadbeef@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2093623004 .

Committed: https://crrev.com/17aac053f585e892114974d2eb248e05ad37f973
Cr-Original-Commit-Position: refs/heads/master@{#13335}
Cr-Commit-Position: refs/heads/master@{#13354}
2016-07-01 03:52:16 +00:00
5041110b94 Compensate for the LevelController gain in the IntelligibilityEnhancer
R=peah@webrtc.org

Review URL: https://codereview.webrtc.org/2112553003 .

Cr-Commit-Position: refs/heads/master@{#13353}
2016-06-30 22:35:46 +00:00
a181c9ad17 Keep track of the user-facing number of channels in a ChannelBuffer
Before this change the ChannelBuffer had a fixed number of channels. This meant for example that when the Beamformer would reduce the number of channels to one, the merging filter bank was still merging all the channels, which was unnecessary since they were not processed and just discarded later. This change doesn't change the signal at all. It just reflects the number of channels in the ChannelBuffer, reducing the complexity.

R=henrik.lundin@webrtc.org, peah@webrtc.org, tina.legrand@webrtc.org

Review URL: https://codereview.webrtc.org/2053773002 .

Cr-Commit-Position: refs/heads/master@{#13352}
2016-06-30 22:33:47 +00:00
e59122889f This helps recognize more network types
and even if the "unknown" network type is not helpful for identifying the network type, it helps bind sockets to the network.

BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/2112963002 .

Cr-Commit-Position: refs/heads/master@{#13351}
2016-06-30 20:00:03 +00:00
b59ff8952f This CL provides improved parameter tuning for the level controller as well as some further minor changes.
It does:
-Handle saturations in a better manner by adding different gain change
step sizes for upwards and downwards changes, as well as when there
is saturation.
-Handle conditions with initial noise-only regions in a better way by
setting a high initial peak level estimate which is gradually reduced until
certainty about the peak level is achieved.
-Limit the maximum gain to limit noise amplification, and to reflect that it
initially is intended to be used in cascade with the fixed digital AGC mode.
-Lower the maximum allowed stationary noise floor to reduce the risk of
excessive noise amplification.
-Lower the target gain to reduce the risk of causing the AEC on the other
end to fail due to high playout levels triggering nonlinearities.
This also reduces the risk for saturation.
-Handle the noise-only regions in a better manner.

NOTRY=true
TBR=aleloi
BUG=webrtc:5920

Review-Url: https://codereview.webrtc.org/2111553002
Cr-Commit-Position: refs/heads/master@{#13350}
2016-06-30 16:19:41 +00:00
504c47d750 FrameBuffer2 now has Start/Stop methods.
The Stop method is used to signal any thread that is waiting in the
NextFrame function and will cause it to return immediately.

BUG=webrtc:5514
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/2105323002 .

Cr-Commit-Position: refs/heads/master@{#13349}
2016-06-30 15:33:17 +00:00
039083aedc Dispose audio source correctly in AppRTC Demo on Android.
Call dispose method on audio source in PeerConnectionClient dispose
method.

R=magjed@webrtc.org

Review URL: https://codereview.webrtc.org/2117463002 .

Cr-Commit-Position: refs/heads/master@{#13348}
2016-06-30 14:57:22 +00:00
c5ad0c81c7 Respect VP8.automaticResizeOn for MediaCodec.
Disables QualityScaler for screenshare-type content and simulcast inside
MediaCodecVideoEncoder.

BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/2107233003 .

Cr-Commit-Position: refs/heads/master@{#13347}
2016-06-30 14:11:43 +00:00
5f6547e89c Disabling the performance unittests on Android for the level controller.
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2108723004
Cr-Commit-Position: refs/heads/master@{#13346}
2016-06-30 12:13:46 +00:00
03dd6db5cb Added empty directory with myself as owner for new mixer.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2109133003
Cr-Commit-Position: refs/heads/master@{#13345}
2016-06-30 12:03:17 +00:00
9ef6785027 Revert of Workaround for clang bug http://llvm.org/PR28348. (patchset #1 id:1 of https://codereview.webrtc.org/2110043003/ )
Reason for revert:
Not needed since https://codereview.chromium.org/2110873002/.

Original issue's description:
> Workaround for clang bug http://llvm.org/PR28348.
>
> Permits rolling chromium further.
>
> BUG=
> TBR=tommi@webrtc.org
>
> Committed: f516585e10

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

Review-Url: https://codereview.webrtc.org/2106383002
Cr-Commit-Position: refs/heads/master@{#13344}
2016-06-30 09:32:37 +00:00
ea41694e08 Added an empty member to the union of rtc::Optional, so that it is always initializable.
Added notry due to flaky android_dbg bot.

NOTRY=true
BUG=webrtc:6033

Review-Url: https://codereview.webrtc.org/2090223003
Cr-Commit-Position: refs/heads/master@{#13343}
2016-06-30 09:15:00 +00:00