8176 Commits

Author SHA1 Message Date
Andrew MacDonald
2c9c83d7ec Remove non-functional asynchronous resampling mode.
A few other cleanups, most notably using a sane parameter to specify the
number of channels.

BUG=chromium:469814
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8894}
2015-03-30 17:08:28 +00:00
Henrik Lundin
45c6449114 Introduce CodecManager and move code from AudioCodingModuleImpl
This change essentially divides AudioCodingModuleImpl into two parts:
one is the code related to managing codecs, now moved into CodecManager,
and the other is what remains in AudioCodingModuleImpl.

This change also removes AudioCodingModuleImpl::InitializeSender. The
function was essentially no-op, since it was always called immediately
after construction.

COAUTHOR=kwiberg@webrtc.org
BUG=4228
R=minyue@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8893}
2015-03-30 17:00:54 +00:00
Minyue Li
f7b9cf54a6 Suppress "EndToEndTest::ReceivedFecPacketsNotNacked" on Asan, Tsan
BUG=4328
R=kjellander@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8892}
2015-03-30 15:26:45 +00:00
Tommi
842a4a6b50 Add locks to Start(), Stop() methods in ProcessThread.
This is necessary unfortunately since there are a few places where DeRegisterModule does not reliably occur on the same thread.

BUG=4473
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8891}
2015-03-30 14:16:25 +00:00
Henrik Lundin
22e209d4f8 Introduce AudioCodingModuleImpl::current_encoder_
This replaces direct reference into the codecs_ array in many places.
The variables current_send_codec_idx_ and send_codec_registered_ are
replaced.

COAUTHOR=kwiberg@webrtc.org
BUG=4228
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8890}
2015-03-30 13:28:19 +00:00
Henrik Lundin
582f80e95c Clamp decoder sample rate to 32000 in iSAC
We want to crate the illusion that iSAC supports 48000 Hz decoding,
while in fact it outputs 32000 Hz. This is the iSAC fullband mode.

Currently this is (also) handled by higher layers, but in future
changes this will not be the case.

R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8889}
2015-03-30 13:01:47 +00:00
Magnus Jedvert
1ecfd55044 videoadapter_unittest.cc: Revert removal of '#if defined(HAVE_WEBRTC_VIDEO)'
This CL reverts some parts of "Delete VideoAdapter::AdaptFrame" https://webrtc-codereview.appspot.com/44769004/.

Reason for revert: Should not touch HAVE_WEBRTC_VIDEO since libjingle_media_unittests does not compile without anyway.

BUG=4317
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8888}
2015-03-30 09:25:04 +00:00
Stefan Holmer
451b61469b Fix gyp path for bwe simulator include.
TBR=pbos@webrtc.org

BUG=4479

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

Cr-Commit-Position: refs/heads/master@{#8887}
2015-03-30 07:40:58 +00:00
Henrik Kjellander
8e9c67e6a9 Suppress data races in libjingle_peerconnection_unittest
TBR=pbos@webrtc.org
BUG=4488
TESTED=Passing builds with:
out/Release/libjingle_peerconnection_unittest --gtest_filter=PeerConnectionInterfaceTest* --gtest_repeat=100 --gtest_break_on_failure
(reproduces without these suppressions)

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

Cr-Commit-Position: refs/heads/master@{#8886}
2015-03-30 07:39:38 +00:00
Henrik Kjellander
9f52448e74 Roll chromium_revision 4d63ee8..719b839 (322012:322539)
Relevant changes:
* src/third_party/libvpx: 2c87306..861f35b
* src/tools/grit: 0287c18..0ac6d13
* src/tools/swarming_client: b61a180..53ef013
Details: 4d63ee8..719b839/DEPS

Clang version changed 231690:233105
Details: 4d63ee8..719b839/tools/clang/scripts/update.sh

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8885}
2015-03-30 07:26:48 +00:00
Henrik Kjellander
6b3ccfc6a6 GN: Cleanup no longer needed libvpx config.
The includes this config provided are now
present just by depending on libvpx.

R=tfarina@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8884}
2015-03-28 17:28:50 +00:00
Henrik Kjellander
819011c35c Additional suppression for TSan deadlock detection
Turns out the one in https://webrtc-codereview.appspot.com/44899004
was not enough to suppress this error.

TBR=pbos@webrtc.org
BUG=4456
TESTED=Passing local TSan run of rtc_unittests

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

Cr-Commit-Position: refs/heads/master@{#8883}
2015-03-27 20:42:19 +00:00
Peter Boström
dfd53fe26b Raise streams for SetMaxSendBitrates above 2000k.
Fixes b=AS effectively not setting bitrates above 2000k.

BUG=1788,4469
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8882}
2015-03-27 14:58:17 +00:00
Peter Boström
53eda3dbd0 Add tests for r8811.
All these tests crashed before r8811. These tests should've been with
that change but r8811 was pushed in before to make bots green.

BUG=1788, 1667
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8881}
2015-03-27 14:53:30 +00:00
Henrik Kjellander
b3fc48b28f Update the notice about the slow Chromium sync.
It's no longer valid to run 'git auto-svn' since we've
moved over to Git.

R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8880}
2015-03-27 13:25:44 +00:00
Henrik Kjellander
1d36003181 Suppress TSan errors triggered when deadlock detection is enabled.
These are problematic when running with the default TSan
settings which has deadlock detection enabled.
Our bots still run with it disabled but we want to be
able to turn it back on, thus this is needed.

BUG=3911,4456
TESTED=
Successfully executed:
GYP_DEFINES="tsan=1 release_extra_cflags=-g use_allocator=none" webrtc/build/gyp_webrtc
ninja -C out/Release rtc_unittests
out/Release/rtc_unittests

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8879}
2015-03-27 12:46:47 +00:00
henrika
9ff73f5dbf Final minor fix in WebRtcAudioManager
TBR=perkj
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#8878}
2015-03-27 10:37:06 +00:00
Bjorn Volcker
424694ce79 audio_processing/agc: Put entire method set_output_will_be_muted() under lock
Setting the member value output_will_be_muted_ in set_output_will_be_muted() was done before the lock.
This caused a data race.

BUG=4477
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8877}
2015-03-27 10:30:54 +00:00
Per
75a0255627 Handle borked Android cameras gracefully.
It turns out that Camera.getCameraInfo can throw an exception if the camera does not work.

TESTED=added a throw before all calls to Camera.open and Camera.getCameraInfo and made sure APPRtcDemo does not crash.

BUG=4371
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8876}
2015-03-27 10:15:27 +00:00
henrika
8324b525dc Adding playout volume control to WebRtcAudioTrack.java.
Also adds a framework for an AudioManager to be used by both sides (playout and recording).
This initial implementation only does very simple tasks like setting up the correct audio
mode (needed for correct volume behavior). Note that this CL is mainly about modifying
the volume. The added AudioManager is only a place holder for future work. I could have
done the same parts in the WebRtcAudioTrack class but feel that it is better to move these
parts to an AudioManager already at this stage.

The AudioManager supports Init() where actual audio changes are done (set audio mode etc.)
but it can also be used a simple "construct-and-store-audio-parameters" unit, which is the
case here. Hence, the AM now serves as the center for getting audio parameters and then inject
these into playout and recording sides. Previously, both sides acquired their own parameters
and that is more error prone.

BUG=NONE
TEST=AudioDeviceTest
R=perkj@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8875}
2015-03-27 09:56:35 +00:00
Peter Boström
8ed6a4bba4 Remove unused non-standard capture stats.
Removes 'googCaptureJitterMs' and 'googCaptureQueueDelayMsPerS' from
talk/. The overuse-detection method used is based on encoding time,
so these stats aren't useful enough to warrant having them showing up in
GetStats().

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

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

Cr-Commit-Position: refs/heads/master@{#8874}
2015-03-27 09:01:11 +00:00
Magnus Jedvert
3954e1dfe1 Remove unused implementations in cricket::VideoFrame
This CL moves dummy implementations from cricket::VideoFrame to NullVideoFrame instead.

R=guoweis@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8873}
2015-03-27 08:48:45 +00:00
Minyue Li
7100dcd317 Adding "usedtx" as Opus codec parameter.
This is according to https://tools.ietf.org/html/draft-spittka-payload-rtp-opus-03

Specifically,

usedtx: specifies if the decoder prefers the use of DTX. values are 1 and 0. If no value is specified, usedtx is assumed to be 0.

BUG=1014
R=juberti@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8872}
2015-03-27 04:06:35 +00:00
Jiayang Liu
bef8d2d020 Add a lock to NSSContext to fix data race
BUG=crbug/466784
R=juberti@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8871}
2015-03-26 21:38:53 +00:00
Marco
b8cfa68323 Update speed setting in VP9.
TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8870}
2015-03-26 20:20:40 +00:00
Peter Boström
74d9ed7d85 Report send codec name in GetStats().
BUG=4461
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8869}
2015-03-26 15:28:43 +00:00
Peter Boström
d6f4c25eed Reject streams reusing simulcast or RTX SSRCs.
BUG=1788, chromium:470122, chromium:470856
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8868}
2015-03-26 15:23:13 +00:00
Jelena Marusic
a990784da3 AcmReceiver: index decoders by payload type instead of ACM codec ID
Change internal indexing of registered decoders. It makes sense because payload type is unique, while ACM codec ID may not be. This is a step towards allowing for addition of external decoders.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8867}
2015-03-26 13:01:37 +00:00
Peter Boström
9b5f96e6a2 Add some sanity CHECKs to webrtc::Call.
These checks would help catching double-deletes, forgetting to destroy
streams and also catch if VideoEngine has held on to any stale
references.

BUG=1788
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8866}
2015-03-26 10:26:00 +00:00
Stefan Holmer
c79f7edd4e Fix build error introduced by r8864.
BUG=4323
TBR=pbos@webrtc.org
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8865}
2015-03-26 10:18:49 +00:00
Stefan Holmer
e590416722 Moving the pacer and the pacer thread to ChannelGroup.
This means all channels within the same group will share the same pacing queue and scheduler. It also means padding will be computed and sent by a single pacer. To accomplish this I also introduce a PacketRouter which finds the RTP module which owns the packet to be paced out.

BUG=4323
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8864}
2015-03-26 10:11:22 +00:00
Brave Yao
5225dd8180 If audio ptime is negotiated in SDP, then we would set the audio codec with negotiated packet size if it's allowed. If the negotiated packet size is not supported by the working codec, then we would use the next smallest size.
BUG=4289
TEST=Manual/Auto Test
R=juberti@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8863}
2015-03-25 23:39:33 +00:00
Michael Graczyk
dfa36058c9 Reparent Nonlinear beamformer under beamforming interface.
R=aluebs@webrtc.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8862}
2015-03-25 23:37:33 +00:00
Bjorn Volcker
bf395c1fc0 Add WebRTC Media Constraint to force using Delay Agnostic AEC on Android
If built-in Echo Cancellation is available on a device it is automatically enabled. The reason is that it in most cases performs better than the WebRTC software echo control for mobile. The drawback is that we can not develop, test and rollout the delay agnostic AEC (DA-AEC) on Android as for desktops.

This CL includes
- adding a media constraint to enable/disable DA-AEC.
- automatically turning on echo cancellation if DA-AEC is enabled.
- a fix in the AEC that enables delay estimation when DA-AEC is enabled, but delay metrics is disabled.
- sets the Config struct ReportedDelay, which controls DA-AEC internally in the AEC.

The test code to verify that it works in AppRTCDemo can be found here:
https://webrtc-codereview.appspot.com/50479004/

BUG=4472
TESTED=locally on N7, N6, Android One
R=glaznev@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8861}
2015-03-25 21:46:10 +00:00
Chuck Hays
caae5d47c1 Bye request should use POST not GET
AppRTCDemo is failing to cleanly exit a room because it sends a GET request to /bye. The request to /bye should be a POST request. Because the /bye request is failing, the room is still marked as "full" and rejoining will fail.

BUG=
R=tkchin@webrtc.org

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

Patch from Chuck Hays <haysc@webrtc.org>.

Cr-Commit-Position: refs/heads/master@{#8860}
2015-03-25 20:01:29 +00:00
Minyue Li
190c3ca7a9 Register sample rate of Audio RED in RTPPayloadRegistry.
Sample rate of RED payload type was not registered. And therefore VoE can fail when it receives RED packets. This is a fix to this problem.

BUG=3619
R=henrik.lundin@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8859}
2015-03-25 15:11:34 +00:00
Stefan Holmer
79064e568e Fix crash on decode found by fuzz tester.
BUG=crbug:468963
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8858}
2015-03-25 14:20:45 +00:00
Bjorn Volcker
3fbf99c44a Refactor common_audio/vad: Removed usage of WEBRTC_SPL_MUL_16_16_RSFT
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
(WEBRTC_SPL_MUL_16_16(a, b) >> (c))

where the latter macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parentheses and style changes

BUG=3347, 3348, 3353
TESTED=locally on Linux for both fixed and floating point and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8857}
2015-03-25 13:37:37 +00:00
Per
855acf72d0 Remove video from WebRTC Android example.
This is in preparation to remove the use of the old Video Api and the use of the old video capture module on Android in particular.

R=henrika@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8856}
2015-03-25 13:32:30 +00:00
Peter Boström
d4362cd336 Reject StreamParams with RTX SSRCs not in ssrcs.
BUG=1788, chromium:470122
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8855}
2015-03-25 13:17:33 +00:00
Henrik Kjellander
a49f515786 Roll chromium_revision da9a1c0..4d63ee8 (321718:322012)
Add download of MSan instrumented libraries similar to
the hook in https://codereview.chromium.org/1019573003.

Relevant changes:
* src/third_party/libvpx: 00cf1b1..2c87306
Details: da9a1c0..4d63ee8/DEPS

Clang version was not updated in this roll.

R=earthdok@chromium.org
TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8854}
2015-03-25 12:49:08 +00:00
Bjorn Volcker
1ccd8b4281 Refactor common_audio/signal_processing: Removed usage of WEBRTC_SPL_MUL_16_16_RSFT
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
(WEBRTC_SPL_MUL_16_16(a, b) >> (c))

where the latter macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parentheses and style changes

BUG=3348, 3353
TESTED=locally on Linux for both fixed and floating point and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8853}
2015-03-25 12:30:01 +00:00
Tommi
245989b22a Address comments from cr 43769004.
- Remove unnecessary hop to worker from OnChannelRequestSignaling_s.
- Remove now-not-needed component param.
- Update documentation.

R=juberti@webrtc.org
BUG=4444

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

Cr-Commit-Position: refs/heads/master@{#8852}
2015-03-24 16:56:34 +00:00
Donald Curtis
0e209b03bf Update bundle behavior to match BundlePolicy spec in http://rtcweb-wg.github.io/jsep/.
BUG=1574
R=juberti@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8851}
2015-03-24 16:30:02 +00:00
Magnus Jedvert
e61c64dbb1 Delete NullVideoRenderer
NullVideoRenderer is not used.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8850}
2015-03-24 15:11:24 +00:00
Niklas Enbom
07a4ba5d1a Simulcast settings for 1080p. Using same bit rates for all 3 modes since only one is used in reality, and the plan is to unify them.
BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8849}
2015-03-24 14:48:03 +00:00
Magnus Jedvert
ac27e20477 Delete VideoAdapter::AdaptFrame
This CL deletes VideoAdapter::AdaptFrame and replaces the remaining calls with AdaptFrameResolution instead.

I do not expect this CL to fix the flaky VideoAdapterTests yet. I intend to replace FileVideoCapturer with a deterministic FakeVideoCapturer in a follow-up CL.

BUG=4317
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8848}
2015-03-24 14:18:52 +00:00
Henrik Kjellander
45636ece8a Post Git switch: Update codereview.settings and remove drover.properties
The key in codereview.settings only made sense for committing to SVN.
The drover.properties is of no use, since drover doesn't support Git.

BUG=chromium:412012

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

Cr-Commit-Position: refs/heads/master@{#8847}
2015-03-24 13:32:33 +00:00
Henrik Kjellander
68a5418dd9 Enable PENDING_REF_PREFIX in codereview.settings.
Remove the FORCE_HTTPS_COMMIT_URL as well, since it's no
longer needed after switching to Git.

BUG=chromium:412012
R=agable@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8846}
2015-03-24 13:25:38 +00:00
kwiberg@webrtc.org
4d14592c67 rtc::Buffer: Restore length method for backwards compatibility
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8845}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8845 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 12:52:14 +00:00