4096 Commits

Author SHA1 Message Date
Peter Boström
a831dc3a7d Convert native handles to buffers before encoding.
Required to permit conversion of NV12 handles on iOS to I420 for VP8
software encoding, which blocks texture-based capture. This change
enforces that all texture-based input provides a method for converting
native handles to I420 if they are ever used with software encoders that
do not understand the native handles.

BUG=4081
R=emircan@chromium.org, glaznev@webrtc.org, hbos@webrtc.org, magjed@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9347}
2015-06-01 18:06:52 +00:00
Peter Boström
9ba52f89ac Remove intermediate RTCP CNAME buffers.
Sets CNAME using a pointer to only perform a copy inside the RTCP
sender.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9346}
2015-06-01 12:12:40 +00:00
Henrik Kjellander
aff1c8489f Roll chromium_revision ccef3cb..7779e7d (331232:332119)
Relevant changes:
* src/buildtools: dc487f4..fa660d4
* src/third_party/boringssl/src: a7997f1..bd15a8e
* src/third_party/icu: 5788e27..f1ad7f9
* src/third_party/libvpx: d1c022c..77656a4
* src/third_party/nss: 9506806..aab0d08
* src/tools/gyp: 0bb6747..29e94a3
Details: ccef3cb..7779e7d/DEPS

Clang version changed 233105:238013
Details: ccef3cb..7779e7d/tools/clang/scripts/update.sh

This change identical to https://webrtc-codereview.appspot.com/47359004/
but with a TSan suppression added.

BUG=3914
TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9345}
2015-06-01 09:49:28 +00:00
Henrik Lundin
5263b3c1dd Add options for NetEq fast accelerate mode through libjingle
This CL connects RTCConfiguration::audioJitterBufferFastMode in
PeerConnection.java, through libjingle, down to
NetEq::Config::enable_fast_accelerate in native WebRTC.

When enabled, it will allow NetEq to do faster time-compression when
the buffer level is very high.

BUG=4691
R=henrika@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9344}
2015-06-01 08:29:55 +00:00
Stefan Holmer
0908d0dcf2 Fix issue with RTT computations in simulator.
R=magalhaesc@google.com

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

Cr-Commit-Position: refs/heads/master@{#9343}
2015-06-01 08:20:33 +00:00
Cesar Magalhaes
f69f1fbc98 Testing and improving NADA algorithm.
A modified operation mode was added, holding:
--- Stricter conditions for AcceleratedRampUp.
--- Smoother GradualRateUpdate adjustments.
--- New AcceleratedRampDown update mode.
This mode reduces significantly the delay for bitrates around its minimum bound.

Several NADA unittests and a few simulations were added.

Fixed LinkedSet bug.
Fixed IsNewerSequenceNumber/IsNewerTimestamp bug.

BUG=4550
R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9340}
2015-05-30 15:49:32 +00:00
Miguel Casas-Sanchez
4765070b8d Rename I420VideoFrame to VideoFrame.
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
Jon Hjelle
c2cb266c93 Match video orientation with device orientation for portrait and portrait upside down
BUG=
R=tkchin@webrtc.org

Committed: https://crrev.com/14c2695f2968d6e8546545a9b62940563073b4b6
Patch from Jon Hjelle <hjon@andynet.net>.

Cr-Commit-Position: refs/heads/master@{#9336}

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

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#9338}
2015-05-29 23:38:31 +00:00
Zeke Chin
7be99bdea1 Revert "Match video orientation with device orientation for portrait and portrait upside down"
Misspelt contributor's email address. Easier to revert and reland.
TBR=hjon@andyet.net

This reverts commit 14c2695f2968d6e8546545a9b62940563073b4b6.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9337}
2015-05-29 23:34:43 +00:00
Jon Hjelle
14c2695f29 Match video orientation with device orientation for portrait and portrait upside down
BUG=
R=tkchin@webrtc.org

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

Patch from Jon Hjelle <hjon@andynet.net>.

Cr-Commit-Position: refs/heads/master@{#9336}
2015-05-29 22:25:00 +00:00
Wan-Teh Chang
5a8bad60ca Update a comment that mentions the nonexistent Reset() method.
R=henrika@webrtc.org, phoglund@webrtc.org, niklas.enbom@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9332}
2015-05-29 16:41:50 +00:00
Jelena Marusic
c28a896a7b VoE: Initialize WebRtcVoiceMediaChannel with AudioOptions during creation
BUG=4690

Changes:
1. In MediaEngineInterface changed CreateChannel() to CreateChannel(const AudioOptions&). Plan is to eventually remove Get/SetAudioOptions and the cousins SetDelayOffset and SetDevices.
2. In ChannelManager changed CreateVoiceChannel(...) to CreateVoiceChannel(..., const AudioOptions&).
3. In ChannelManager removed SetEngineAudioOptions, because it is not used and we want to eventually remove SetAudioOptions.
4. Updated MediaEngineInterface implementations and unit tests accordingly.
5. In WebRtcVoiceEngine changed access of Set/ClearOptionOverrides to protected. These are only used by WebRtcVoiceMediaChannel (now a friend). Plan is to rethink the logic behind option overrides.
6. Cosmetics: replaced NULL with nullptr in touched code

R=solenberg@google.com, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9330}
2015-05-29 13:05:52 +00:00
henrika
bf738d7130 Temporarily disabling OpenSL ES for playout.
TBR=tommi
BUG=b/21485703

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

Cr-Commit-Position: refs/heads/master@{#9329}
2015-05-29 09:42:52 +00:00
Joachim Bauch
04e5b49827 Make maximum SSL version configurable through PeerConnectionFactory::Options
This can be used to activate DTLS 1.2 through a command-line flag from Chromium
later.

BUG=chromium:428343
R=jiayl@webrtc.org, juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#9328}
2015-05-29 07:40:51 +00:00
Michael Graczyk
cc84649389 Add LappedTransform accessors.
These are necessary for clients to validate that they conform to its API.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9327}
2015-05-29 01:01:43 +00:00
Jiayang Liu
770cc380eb Don't call CRYPTO_add in BoringSSL.
The old OpenSSL threading hooks were removed in favor of the library knowing
about threads internally. Instead of CRYPTO_add, use FOO_up_ref wrappers that
don't require reaching into the type.

BUG=none
R=jiayl@webrtc.org, juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#9324}
2015-05-28 22:36:37 +00:00
Joachim Bauch
35448372be Disable reusing of ECDHE keys with NSS.
This provides support for ephemeral ECDHE keys when using NSS.

BUG=4689
R=juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9323}
2015-05-28 22:29:17 +00:00
Wan-Teh Chang
603175a395 Improve comments.
Use the current parameter names in the comment for SetNackMode().

Add a warning comment about the lifetime of the return value of
GetNackList().

R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9321}
2015-05-28 21:10:20 +00:00
Wan-Teh Chang
45b229cc89 Remove an unnecessary webrtc:: namespace prefix.
R=stefan@webrtc.org, niklas.enbom@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9319}
2015-05-28 20:45:37 +00:00
Wan-Teh Chang
92d9489881 Miscellaneous cleanups in VCMReceiver and its unit tests.
The most important change is to prevent a potential buffer overflow in
NackList(). It cannot happen if the |size| argument passed to NackList()
is consistent with the |max_nack_list_size| argument passed to
SetNackSettings(), and there is an assertion to check that. But it is
good to defend against this in the release build because assert() is
compiled away in the release build.

Remove the unused |master| parameter to the VCMReceiver constructor.

Remove the unused State() getter method and the corresponding state_
member.

Remove the declarations for the nonexistent GenerateReceiverId()
method and the receiver_id_counter_ member.

Remove the unneeded data_buffer_ member of TestVCMReceiver. It was
assigned to packet.dataPtr and then immediately overwritten by
stream_generator_->GetPacket() or stream_generator_->PopPacket().

R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9318}
2015-05-28 20:36:22 +00:00
Andrew MacDonald
645299d4e0 Add frequency smoothing to postfilter.
Reduces musical noise with minimal impact on interferer suppression.

This also unifies the treatment of "mean bins". The "end" bin is now
inclusive in the mean range as with the "start" bin.

Corrects interpretation of quantile.

BUG=chromium:490477
R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9317}
2015-05-28 20:10:32 +00:00
Donald Curtis
d4f769d8fc Stop video candidates getting down to audio.
Second attempt at adding a check to make sure that the video
transportproxy doesn't send down candidates to the audio transport
channel when things are bundled.

BUG=4665
R=juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9316}
2015-05-28 16:48:30 +00:00
Bjorn Volcker
a743794d06 audio_processing/aecm: Create() now returns a pointer to the object
Changed Create() to return a pointer to the object rather than an error message, which is in line with how objects should be created.

BUG=441
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9315}
2015-05-28 13:58:53 +00:00
Peter Boström
71861a0e20 Remove GetSendSideDelay from RtpRtcp.
These stats are reported using a callback either way, removing a getter
+ an old related deadlock suppression.

BUG=1695, 2999
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9314}
2015-05-28 12:45:45 +00:00
Henrik Boström
7cd16b03b2 video_processing_unittest: Only create files for visual inspection if the boolean flag 'gen_files' is set.
BUG=4648
R=henrik.lundin@webrtc.org, kjellander@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9313}
2015-05-28 12:44:39 +00:00
Bjorn Volcker
c3deaa30d5 common_audio/vad: Removes head allocation failure check
Related to https://webrtc-codereview.appspot.com/51919004/ where Create() was changed. This CL removes a useless malloc failure check.

BUG=441, 3347
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9312}
2015-05-28 12:30:29 +00:00
henrika
796e17237b Fixes crash in WebRtcAudioManager.setCommunicationMode
BUG=b/21360598
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9311}
2015-05-28 12:18:42 +00:00
Patrik Höglund
c41fe5d5d0 Force 8 kHz sampling rate on Android emulator.
BUG=None
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9310}
2015-05-28 12:16:45 +00:00
Peter Boström
2251d6e174 Remove ViESender.
Registers transport on construction removing the need for ViESender as a
hop and removing a potential deadlock by removing RegisterSendTransport.

BUG=1695, 2999
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9309}
2015-05-28 12:10:48 +00:00
Karl Wiberg
8bb6ea3da9 Reset speech encoder before hooking it up to RED or CNG
Commit 7e0c7d49 ("Add support for external encoders in ACM") changed
things around so that we no longer recreate the speech encoder when
adding CNG or RED to an existing encoder. This isn't correct, since
those two expect to be in sync with the speech encoder they work with.
Solve the problem by resetting the speech encoder before hooking in
RED or CNG.

BUG=crbug/490368
R=jmarusic@webrtc.org
TBR=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9307}
2015-05-28 11:37:27 +00:00
Erik Språng
11beccd712 Remove external report blocks from RtcpSender and rtp_rtcp interface.
Feature does not seem to be used and complicates other refactoring of
the rtcp module.

BUG=
R=asapersson@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9304}
2015-05-28 09:10:34 +00:00
Peter Boström
23c2e55479 Remove remaining .mk files.
These files are not supported, kept up to date or likely to build
anymore.

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

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

Cr-Commit-Position: refs/heads/master@{#9303}
2015-05-28 09:05:11 +00:00
Andrew MacDonald
b444b3f0ff Redirect logs to stderr in audioproc_f.
Notably, this displays logs from the AGC.

Also add a "time per chunk" field to the perf output.

R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9302}
2015-05-28 00:26:12 +00:00
Michael Graczyk
9b720f7016 Add GetChunkLength to LappedTransform.
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9301}
2015-05-28 00:09:56 +00:00
Joachim Bauch
fec2c6d7eb Prevent potential double-free if srtp_create fails.
If srtp_create fails while adding streams, it deallocates the session
but doesn't clear the passed pointer which then could lead to a
double-free in the SrtpSession dtor.

The CL also adds locking for libsrtp initialization / shutdown.

BUG=4042
R=jiayl@webrtc.org, juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9300}
2015-05-27 21:41:52 +00:00
Tommi
92fbbb21f8 Switch acm_receiver over to using base/logging.h
BUG=
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9298}
2015-05-27 20:07:46 +00:00
Noah Richards
9303eaf512 Don't unnecessarily set mode/category on AVAudioSession.
Doing so clears transient properties on the session back to defaults.

BUG=
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9297}
2015-05-27 17:24:00 +00:00
Peter Boström
def39883f0 Configure default render delay as 10 ms.
BUG=chromium:488395
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9296}
2015-05-27 15:59:21 +00:00
Henrik Lundin
cf808d2366 Add new fast mode for NetEq's Accelerate operation
This change instroduces a mode where the Accelerate operation will be
more aggressive. When enabled, it will allow acceleration at lower
correlation levels, and possibly remove multiple pitch periods at
once.

The feature is enabled through NetEq::Config, and is off by
default. This means that bit-exactness tests are currently not
affected.

A unit test was added for the Accelerate class, with and without fast
mode enabled.

BUG=4691
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9295}
2015-05-27 12:33:39 +00:00
Minyue Li
c065cc797d Clarify boolean flags in neteq_opus_quality_test.
Note that the use of boolean flags in gflags is a bit unnatural. For setting a boolean flag to false: putting "no" in front of its name (see http://gflags.github.io/gflags/)

We make this clearer by defaulting boolean flags to false, and clarifying it in the description.

BUG=
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9293}
2015-05-27 08:01:18 +00:00
Henrik Lundin
c13cacbb39 Remove an unused method in NetEq::Expand
TBR=ivoc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9292}
2015-05-27 07:23:53 +00:00
Bjorn Volcker
de4703c5d1 Refactor common_audio/vad: Create now returns the handle directly instead of an error code
Changed the WebRtcVad_Create() function to the more conventional format of returning the handle directly instead of an error code to take care of.
In addition NULL was changed to nullptr in the files where it applied.

Affected components:
* AGC
* VAD
* NetEQ

BUG=441, 3347
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9291}
2015-05-27 05:23:11 +00:00
Minyue
afef4bfd1c Reland "Adding a test framework for conference mode application in VoE."
"Adding a test framework for conference mode application in VoE." was wrongly committed and therefore was temporarily reverted.

This is to reland.

The CL is indifferent from its original version
https://review.webrtc.org/46249004/

TBR=phoglund@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9290}
2015-05-26 22:21:25 +00:00
Minyue
a4b7e5e35a Revert "Adding a test framework for conference mode application in VoE."
This reverts commit fc052055e939fa93d3ab92914e0dc8ed5e5d1d90.
since it was not committed correctly.

I committed it from a wrong machine, which did not have the correct patch.

BUG=
TBR=phoglund@webrtc.org,

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

Cr-Commit-Position: refs/heads/master@{#9289}
2015-05-26 21:21:55 +00:00
Wan-Teh Chang
6a1ba8c17f Fix coding style nits.
uint32_t parameters don't need to be passed by reference. The
VCMJitterBuffer destructor doesn't need to be virtual because the
class has no virtual methods.

R=stefan@webrtc.org
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#9288}
2015-05-26 21:11:46 +00:00
Stefan Holmer
e87d48719f Fix ARM64 detection for VP8 and VP9 wrappers.
BUG=4702
R=marpan@google.com, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9287}
2015-05-26 20:10:38 +00:00
Minyue
fc052055e9 Adding a test framework for conference mode application in VoE.
BUG=
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9286}
2015-05-26 19:00:50 +00:00
Guo-wei Shieh
5d55c98cd2 WebRTC 4521: Remove usage of deprecated timezone global variable
BUG=4521
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9285}
2015-05-26 18:53:39 +00:00
Peter Boström
5a3ebd761c Revert "Remove default encoder/decoders."
This reverts commit 78ae00eea29850bd3bd608287d8b057c88e91b42 due to perf
regressions. Reverting during investigation to figure out root causes.

BUG=chromium:491112
R=henrik.lundin@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9283}
2015-05-26 09:44:14 +00:00
Brave Yao
e14e5f4468 Solve TSan warning about unlocking an unlocked mutex.
In my previous cl, https://webrtc-codereview.appspot.com/52479004/, there is 'UnLock()' left when we switched to scoped lock, which will cause TSan warning sometimes.
===========================================================
WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (pid=9981)
#0 pthread_mutex_unlock <null> (libjingle_peerconnection_unittest+0x00000046836f)
#1 webrtc::CriticalSectionPosix::Leave() webrtc/system_wrappers/source/critical_section_posix.cc:39:10 (libjingle_peerconnection_unittest+0x000000bc368d)
#2 ~CriticalSectionScoped webrtc/system_wrappers/interface/critical_section_wrapper.h:46:48 (libjingle_peerconnection_unittest+0x000000a61fcb)
#3 webrtc::AudioDeviceLinuxPulse::RecThreadProcess() webrtc/modules/audio_device/linux/audio_device_pulse_linux.cc:3003 (libjingle_peerconnection_unittest+0x000000a61fcb)
===========================================================

BUG=3056
TEST=bots
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9282}
2015-05-26 08:29:27 +00:00