2042 Commits

Author SHA1 Message Date
henrik.lundin@webrtc.org
fddeaf5daa Switch to using AudioEncoderG722 instead of ACMG722
This change switches from the old codec wrapper ACMG722 to the new
AudioEncodeG722 wrapped in an ACMGenericCodecWrapper.

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

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

Cr-Commit-Position: refs/heads/master@{#8330}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8330 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 13:28:44 +00:00
henrika@webrtc.org
62f6e75673 Refactoring WebRTC Java/JNI audio recording in C++ and Java.
This is a big refactoring of the existing C++/JNI/Java support for audio recording in native WebRTC:

- Removes unused code and old WEBRTC logging macros
- Now uses optimal sample rate and buffer size in Java AudioRecord (used hard-coded sample rate before)
- Makes code more inline with the implementation in Chrome
- Adds helper methods for JNI handling to improve readability
- Changes the threading model (high-prio audio thread now lives in Java-land and C++ only works as proxy)
- Adds basic thread checks
- Removes all locks in C++ land
- Removes all locks in Java
- Improves construction/destruction
- Additional cleanup

Tested using AppRTCDemo and WebRTCDemo APKs on N6, N5, N7, Samsung Galaxy S4 and
Samsung Galaxy S4 mini (which uses 44.1kHz as native sample rate).

BUG=NONE
R=magjed@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8325}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8325 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 08:39:19 +00:00
henrik.lundin@webrtc.org
c2d0473320 Switch to using AudioEncoderPcm16B instead of ACMPCM16B
This change switches from the old codec wrapper ACMPCM16B to the new
AudioEncoderPcm16B wrapped in an ACMGenericCodecWrapper.

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

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

Cr-Commit-Position: refs/heads/master@{#8324}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8324 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 08:25:44 +00:00
kjellander@webrtc.org
f58fe0ab2b Rename GYP and GN targets for video capture+render.
This CL performs the following renames of targets to
make GYP and GN more unified and make the targets that
have the same name as the module and include the external
render/capture implementation (the internal one is only
used by WebRTC tests).
This makes it natural to declare dependencies in GN
without having to specify the target.

Summary of the renames:
GYP:
video_render_module_impl -> video_render (new target)
video_capture_module_impl -> video_capture (new target)

GN:
video_capture -> video_capture_module (now identical to the GYP target)
video_capture_impl -> video_capture

video_render -> video_render_module (now identical to the GYP target)
video_render_impl -> video_render

BUG=456815
R=andresp@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8323}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8323 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 07:47:47 +00:00
aluebs@webrtc.org
5d608955cf Fix bug when there are no blocks in a chunk in Beamformer
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8321}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8321 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 00:48:55 +00:00
aluebs@webrtc.org
d35a5c3506 Make ChannelBuffer aware of frequency bands
Now the ChannelBuffer has 2 separate arrays, one for the full-band data and one for the splitted one. The corresponding accessors are added to the ChannelBuffer.
This is done to avoid having to refresh the bands pointers in AudioBuffer. It will also allow us to have a general accessor like data()[band][channel][sample].
All the files using the ChannelBuffer needed to be re-factored.
Tested with modules_unittests, common_audio_unittests, audioproc, audioproc_f, voe_cmd_test.

R=andrew@webrtc.org, kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8318}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8318 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 22:52:43 +00:00
aluebs@webrtc.org
91ba79ae3f Make sure that the norms are positive in Beamformer
This has a bit exact output, but is just to be sure that there are no nummerical errors when the covariance matrices are nearly singular.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8316}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8316 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 22:38:18 +00:00
aluebs@webrtc.org
b6856d2823 Apply mask smoothing in Beamformer
This generates much more aggressive postfilter masks, which remove the interference and background noise better.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8315}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8315 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 18:23:35 +00:00
henrik.lundin@webrtc.org
8da96ac0f6 Switch to using AudioEncoderIlbc instead of ACMILBC
This change switches from the old codec wrapper ACMILBC to the new
AudioEncoderIlbc wrapped in an ACMGenericCodecWrapper.

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

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

Cr-Commit-Position: refs/heads/master@{#8314}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8314 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 15:34:38 +00:00
stefan@webrtc.org
027e113209 Introduce PacketReceiver and remove configuration of simulations via the BweTestConfig.
This makes it possible to build more flexible simulations, and makes it easier to implement bi-directional simulations. This also removes support for generating baseline files and comparing against a baseline, which hasn't turned out to be particuarly useful.

BUG=4173
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8311}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8311 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 09:49:00 +00:00
kwiberg@webrtc.org
648f5d6dc7 pcm16b: Make input arrays const and use uint8_t[] for byte arrays
There were both uint8 and uint16 versions of the pcm16b encode and
decode functions; this patch removes the latter.

BUG=909
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8309}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8309 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 09:19:09 +00:00
minyue@webrtc.org
c11348b5d7 Fixing a bug in expand_rate calculation for stereo signal.
BUG=
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8307}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8307 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 08:36:07 +00:00
stefan@webrtc.org
d6e25a5b27 Revert r8297 "Introduce PacketReceiver and remove configuration of simulations via the BweTestConfig."
BUG=4173
R=andresp@webrtc.org
TBR=andresp@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8298}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8298 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 15:06:42 +00:00
stefan@webrtc.org
03c1c103e4 Introduce PacketReceiver and remove configuration of simulations via the BweTestConfig.
This makes it possible to build more flexible simulations, and makes it easier to implement bi-directional simulations. This also removes support for generating baseline files and comparing against a baseline, which hasn't turned out to be particuarly useful.

BUG=4173
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8297}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8297 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 14:47:15 +00:00
henrik.lundin@webrtc.org
e01bae24a5 Fixing a nit
This is a follow-up for https://webrtc-codereview.appspot.com/33209004/
where a post-commit nit was provided.

R=tommi@webrtc.org, kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8295}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8295 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 13:21:44 +00:00
kwiberg@webrtc.org
1c6239a3b6 G711: Make input arrays const and use uint8_t[] for byte arrays
BUG=909
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8294}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8294 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 12:56:16 +00:00
kjellander@webrtc.org
2b69eab077 Restructure GYP for vp9, opus and direct trace
This is needed to make the build more flexible for some use cases.

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

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

Cr-Commit-Position: refs/heads/master@{#8290}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8290 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 10:01:40 +00:00
changbin.shao@webrtc.org
f31f56d8d4 Remove default arguments in EncodedImageCallback.
BUG=
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8289}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8289 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 09:14:48 +00:00
tommi@webrtc.org
103f3289b5 Fix the binary layout of ProcessThreadImpl.
We apparently hit an obscure problem on mac where seemingly an unaligned mutex causes memory corruption.
The effect was that the |modules_| list became corrupt and we crashed.  At this point I'm not exactly
sure what the alignment requirements are but for now, I've fixed up the layout in a way that doesn't cause these same issues.

I'm also changing auto->proper type at the request of drive by reviewers from my previous cl in the same file.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8286}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8286 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-08 00:48:40 +00:00
tommi@webrtc.org
1d4830a077 Disable ProcessThread tests that are dependent on timing.
Some of the bots are too slow for the tests to make much sense as they are.

TBR=bjornv@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8281}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8281 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-07 08:44:40 +00:00
aluebs@webrtc.org
2a44be93e8 Normalize delay-and-sum mask in Beamformer
This normalization is done in the Matlab Code but was never ported to the C++ version.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8279}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8279 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-07 02:41:41 +00:00
aluebs@webrtc.org
799e667e9f Add high frequency correction to Beamformer
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8278}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8278 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-07 01:07:43 +00:00
bjornv@webrtc.org
63da1dd972 audio_processing: Now records mic volume level also when using new AGC
Previously only mic level calculated by the legacy agc was logged in aecdebug dumps.
Now we log it for any agc.
In addition, it is now possible to turn on and off debug recording in the test tool voe_cmd_test.

BUG=4274
TESTED=verified using voe_cmd_test
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8274}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8274 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 19:44:46 +00:00
henrik.lundin@webrtc.org
751a36590a Switch to using AudioEncoderPcmU/A instead of ACMPCMU/A
This change switches from the old codec wrappers ACMPCMU and ACMPCMA
to the new AudioEncoderPcmU and AudioEncoderPcmA wrapped in an
ACMGenericCodecWrapper. RED and CNG is also switched to using their
AudioEncoder implementations (AudioEncoderCopyRed and AudioEncoderCng,
respectively), when RED and/or CNG is combined with PCM u/A.

This is the first in a series of changes that will switch all codecs
to use the new AudioEncoder interface.

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

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

Cr-Commit-Position: refs/heads/master@{#8268}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8268 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 14:03:41 +00:00
mflodman@webrtc.org
02270cd718 Implementing a packet router class, used to route RTP packets to the
sending RTP module for the specified simulcast layer a frame belongs to.
This CL also removes the corresponding functionality from the RTP RTCP
module and fixes lint warnings in the files touched.

BUG=769
TEST=New unittest and manual tests
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8267}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8267 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 13:10:39 +00:00
stefan@webrtc.org
10a9e924eb Fix delete of stack allocated object causing test crashes.
Introduced in r8264.

BUG=4173
R=bjornv@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8266}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8266 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 13:00:26 +00:00
stefan@webrtc.org
fb609a1f57 Wire up new feedback format by introducing a FeedbackPacket type.
The new format instantiates the RemoteBitrateEstimator at the send-side and feeds back all packet arrival timestamps and sequence numbers to the sender, where inter-arrival deltas are calculated.

Next step will be to make feedback packets part of regular packets and send them over the network. This also requires bi-directional simulations.

BUG=4173
R=mflodman@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8264}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8264 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 12:21:21 +00:00
bjornv@webrtc.org
353c8b8c08 audio_processing/agc: Changed to correct include path in agc_unittests
The agc test_utils were moved to tools/ in r8205. The agc_unittests are currently not in use due to interface mismatches.

BUG=N/A
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8263}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8263 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 12:03:13 +00:00
tommi@webrtc.org
bc3241a8cc Update ProcessCallAfterXms to better match the performance of our faster bots. Previously I had made sure these tests didn't flake out on our slow trybots, but apparently I need to do the same for the fast bots :)
TBR=bjornv@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8262}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8262 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 11:28:41 +00:00
tommi@webrtc.org
0c3e12b7bf Revamp the ProcessThreadImpl implementation.
* Add a new WakeUp method that gives a module a chance to be called back right away on the worker thread.
* Wrote unit tests for the class.
* Significantly reduce the amount of locking.
  - ProcessThreadImpl itself does a lot less locking.
  - Reimplemented the way we keep track of when to make calls to Process.
    This reduces the amount of calls to TimeUntilNextProcess and since most implementations of that function grab a lock, this means less locking.
* Renamed ProcessThread::CreateProcessThread to ProcessThread::Create.
* Added thread checks for Start/Stop.  Threading model of other functions is now documented.
* We now log an error if an implementation of TimeUntilNextProcess returns a negative value (some implementations do, but the method should only return a positive nr of ms).
* Removed the DestroyProcessThread method and instead force callers to use scoped_ptr<> to maintain object lifetime.

BUG=2822
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8261}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8261 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 09:44:45 +00:00
jan.skoglund@webrtc.org
74d27884af Remove defined(__cplusplus) tests in C++ code.
This header is a C++ header (it contains keywords such as 'class'
and 'public'). It is not necessary to test defined(__cplusplus).
That test is appropriate in a C header that may be included by C++
code.

R=henrik.lundin@webrtc.org, jan.skoglund@webrtc.org, sprang@webrtc.org
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#8256}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8256 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 19:18:21 +00:00
henrik.lundin@webrtc.org
f45c8ca88b Reland r8248 "Introduce ACMGenericCodecWrapper"
This effectively reverts r8249.

This new class inherits from ACMGenericCodec. The purpose is to wrap
AudioEncoder objects into an ACMGenericCodec interface. This is a
temporary construction that will be used during the ACM redesign work.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
TBR=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8255}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8255 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 18:30:16 +00:00
aluebs@webrtc.org
ec4521cdb4 Clean up Beamformer initialization
This generates bit-exact output.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8254}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8254 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 18:17:11 +00:00
bjornv@webrtc.org
cc64a9cc4f voice_engine: Updates GetEcDelayMetrics() w.r.t. new metric
As of r8230 (https://webrtc-codereview.appspot.com/39739004/) a new Echo Delay Metric was added calculating the fraction of poor values that may cause the AEC to fail. There are currently two methods for GetDelayMetrics() in webrtc::AutioProcessing and one is deprecated.

This CL updates
- GetEcDelayMetrics()
- voe_auto_test
- talk/media/(fake)webrtcvoiceengine

BUG=N/A
TESTED=locally and trybots
R=pbos@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8251}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8251 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 12:53:24 +00:00
henrik.lundin@webrtc.org
3a87630629 Revert r8248 "Introduce ACMGenericCodecWrapper"
This reverts r8248 due to some build bot failures.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8249}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8249 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 09:37:11 +00:00
henrik.lundin@webrtc.org
af8c13f2a1 Introduce ACMGenericCodecWrapper
This new class inherits from ACMGenericCodec. The purpose is to wrap
AudioEncoder objects into an ACMGenericCodec interface. This is a
temporary construction that will be used during the ACM redesign work.

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

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

Cr-Commit-Position: refs/heads/master@{#8248}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8248 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 09:20:18 +00:00
henrik.lundin@webrtc.org
cf7efeba37 Add new AudioEncoderOpusTest
This test will replace AcmOpusTest when ACMOpus is removed. The old
AcmOpusTest also contains tests for setting and updating the
"application" setting in Opus. However, in the new AudioEncoderOpus
class, the application is trivially set in the Config struct at
construction, wherefore a test is no longer needed.

BUG=3926
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8244}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8244 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 15:34:40 +00:00
tommi@webrtc.org
875c97ed9d Remove SetNotAlive method from the thread class.
Also cleaning up methods with the same name in other classes that are derived from the above method.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8242}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8242 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 11:12:39 +00:00
asapersson@webrtc.org
4414939954 Add method for incrementing RtpPacketCounter. Removes duplicate code.
Correction to check if rtx is enabled on send-side (and not receive) when updating rtx send bitrate stat.

Remove unneeded guarded by annotations.

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

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

Cr-Commit-Position: refs/heads/master@{#8239}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8239 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 08:35:21 +00:00
tommi@webrtc.org
d43bdf50c5 Rewrite ThreadPosix.
This is the same change as already made for Windows:
https://webrtc-codereview.appspot.com/37069004/

* Remove "dead" and "alive" variables.
* Remove critical section
* Remove implementation of SetNotAlive()
* Always set thread name
* Add thread checks for correct usage.

* Changed AudioDeviceMac to create/start/stop/delete thread objects for playout and recording, inside the respective start and stop method.  The reason for this is because the AudioDeviceMac instance is currently being created on one thread and the above Start/Stop methods are being called on a different thread.  So, my change makes creation, start/stop, deletion of the thread objects always happen on the same thread.

I'm making CurrentThreadId() in rtc_base_approved more visible so that it can be used  from there instead of inside webrtc. Down the line we will have more thread concepts in rtc_base_approved, so I put a TODO for myself to move this functionality to there once we do.

R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8235}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8235 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 16:30:21 +00:00
pbos@webrtc.org
200ac007ef Remove temp files in audio_processing_unittest.cc.
These files are leaking, rapidly filling trybot disks.

BUG=4258
R=kjellander@webrtc.org
TBR=bjornv@webrtc.org
TEST=out/Debug/modules_unittests --gtest_filter=*AudioProcessingTest*Formats/0 && ls out

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

Cr-Commit-Position: refs/heads/master@{#8232}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8232 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 14:14:19 +00:00
stefan@webrtc.org
0e8bf6c4d3 Enable bitrate probing by default.
Results from the experiment were all positive.

BUG=crbug:425925
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8231}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8231 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 12:34:17 +00:00
bjornv@webrtc.org
b1786dbab0 audio_processing: Added a new AEC delay metric value that gives the amount of poor delays
To more easily determine if for example the AEC is not working properly one could monitor how often the estimated delay is out of bounds. With out of bounds we mean either being negative or too large, where both cases will break the AEC.

A new delay metric is added telling the user how often poor delay values were estimated. This is measured in percentage since last time the metrics were calculated.

All APIs have been updated with a third parameter with EchoCancellation::GetDelayMetrics() giving the option to exclude the new metric not to break existing code.

The new metric has been added to audio_processing_unittests with an additional protobuf member, and reference files accordingly updated.
voe_auto_test has not been updated to display the new metric.

BUG=4246
TESTED=audioproc on files
R=aluebs@webrtc.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8230}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8230 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 06:07:21 +00:00
pkasting@chromium.org
0e81fdf5d2 Avoid implicit type truncations by inserting explicit casts or modifying prototypes to avoid needless up- and then down-casting.
BUG=chromium:82439
TEST=none
R=henrik.lundin@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8229}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8229 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 23:54:40 +00:00
stefan@webrtc.org
946ad76f7e Switched lists of packets to lists of packet pointers. Allows Packet polymorphism.
This allows for different packet types in a follow-up CL, so that feedback can be passed through the network instead being fed directly into senders. It also made the whole simulator faster.

BUG=4173
R=pbos@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8227}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8227 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 14:51:45 +00:00
sprang@webrtc.org
c957ffc6dc Fixed potential crash if rtp packet history is completely full.
Also performance enhanecement in rtp_sender (don't lookup if kDontStore)

BUG=4171
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8226}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8226 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 13:08:14 +00:00
henrik.lundin@webrtc.org
c420a86f4c Change name for local CriticalSectionScoped variable
Tools were complaining about (harmless) shadowing of variable names.

This is a follow-up to
https://webrtc-codereview.appspot.com/41659004/#msg8

BUG=3926
TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8225}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8225 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 10:36:39 +00:00
kwiberg@webrtc.org
a1dfbf1e5c WebRtcG722_Decode: Input array should be const uint8_t[]
BUG=909
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8224}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8224 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 08:58:39 +00:00
pkasting@chromium.org
026b892e72 Using << on an int8_t or uint8_t will output a character rather than a number.
Places that do this need to cast to int to get the desired behavior.

BUG=none
TEST=none
R=henrik.lundin@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8223}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8223 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 19:54:19 +00:00
stefan@webrtc.org
f88bee6d88 Refactor senders into senders and sources in the simulation framework.
BUG=4173
R=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8218}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8218 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 14:37:09 +00:00