Commit Graph

24 Commits

Author SHA1 Message Date
2515af28e9 Removing some unnecessary string manipulation code from VoEBase::GetVersion().
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10868}
2015-12-02 14:19:44 +00:00
a41ab9326c Switch usage of _DEBUG macro to NDEBUG.
http://stackoverflow.com/a/29253284/5237416

BUG=None
R=tommi@webrtc.org
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#10468}
2015-10-30 23:08:54 +00:00
dce40cf804 Update a ton of audio code to use size_t more correctly and in general reduce
use of int16_t/uint16_t.

This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.

This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002

The change is being landed as TBR to all the folks who reviewed the above.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher

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

Cr-Commit-Position: refs/heads/master@{#9768}
2015-08-24 21:52:45 +00:00
f353dd59b5 VoE: cleanup VoENetwork implementation
Changes:
1. Documented return values of VoENetwork methods.
2. In VoENetworkImpl: replaced calls to SetLastError() with LOG_F(). SetLastError() is not used anymore because no one is calling LastError() to check for last error. Also, its usage is being removed in Video Engine and we want to be consistent.
3. In VoENetworkImpl: removed WEBRTC_TRACE() usage.
4. In VoENetworkImpl: replaced some defensive code with assert(). We are now assuming that the caller has called VoEBase::Init() where needed. We are also assuming that it is invalid to pass nullptr where data is expected.
5. Updated unit tests accordingly.

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

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

Cr-Commit-Position: refs/heads/master@{#9145}
2015-05-06 13:04:29 +00:00
0d266054ac VoE: apply new style guide on VoE interfaces and their implementations
Changes:
1. Ran clang-format on VoE interfaces and their implementations.
2. Replaced virtual with override in derived classes.

R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9130}
2015-05-04 12:15:41 +00:00
6a364fe11b Remove uses of build date/time.
Uses of __DATE__ and __TIME__ are blocking deterministic Chromium
builds. We're not really making use of these, and if anything they're
likely to be misleading as it's impossible to distinguish between a new
revision and a freshly-built old branch.

R=mflodman@webrtc.org, tnakamura@webrtc.org
BUG=3983

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7635 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 17:40:28 +00:00
40ee3d07ed Consolidate audio conversion from Channel and TransmitMixer.
Replace the two versions with a single DownConvertToCodecFormat. As
mentioned in comments, this could be further consolidated with
RemixAndResample but we should write a full audio converter class in
that case.

Along the way:
- Fix the bug present in Channel::Demultiplex with mono input and a
stereo codec.
- Remove the 32 kHz max from the OnDataAvailable path. This avoids a
48 -> 32 -> 48 conversion when VoE is passed 48 kHz audio; instead we
get a straight pass-through to ACM. The 32 kHz conversion is still
needed in the RecordedDataIsAvailable path until APM natively supports
48 kHz.
- Merge resampler improvements from ACM1 to ACM2. This allows ACM to
handle 44.1 kHz audio passed to VoE and was originally done here:
https://webrtc-codereview.appspot.com/1590004
- Reuse the RemixAndResample unit tests for DownConvertToCodecFormat.
- Remove unused functions from utility.cc.

BUG=3155,3000,b/12867572
TESTED=voe_cmd_test using both the OnDataAvailable and
RecordedDataIsAvailable paths, with a captured audio format of all
combinations of {44.1,48} kHz and {1,2} channels, running through all
codecs, and finally using both ACM1 and ACM2.

R=henrika@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5843 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-03 21:56:01 +00:00
a789f3720a VoiceEngine(iOS & Android): removed NOT_SUPPORTED
Also:
- removed underflow of a uint32 creating crazy-large delay values
- removed always-fail AudioDeviceIPhone::MicrophoneIsAvailable() impl (see
  bug 3132)
- removed unnecessary exclusion of features from iOS & Android builds

BUG=2050,3132
R=andrew@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5820 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-01 00:16:35 +00:00
6c264cc92e Clean up AudioProcessing defaults and errors.
- Remove unneeded #defines and switch the remainder to consts.
- All AudioProcessing components are disabled by default, so remove
explicit disables.
- AudioProcessing uses a rational 16 kHz mono default, so no need to
explictly initialize.
- Add assert(false) to real-time errors which should not occur.

TESTED=trybots
R=bjornv@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4924 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 17:54:09 +00:00
eda189be14 Remove redundant STR_CASE_CMP macro definitions.
R=minyue@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4711 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 17:50:10 +00:00
676ff1ed89 Ref-counted rewrite of ChannelManager.
The complexity of the last ChannelManager and potentially usage of it as well caused race conditions and deadlocks in loopback voe_auto_test. This ref-counted solution takes no long-term locks, uses less locks overall and is significantly easier to understand.

ScopedChannel has been split up into a ChannelOwner with a reference to a channel and an Iterator over ChannelManager. Previous code was really used for both things. ChannelOwner is used as a shared pointer to a channel object, while an Iterator should work as expected.

BUG=2081
R=tommi@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4502 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-07 17:57:36 +00:00
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
0851df8d60 Remove unneeded *_NOT_SUPPORTED from VoEAudioProcessing.
* Remove ANDROID_NOT_SUPPORTED from a bunch of echo metrics calls
where it actually is supported.
* No error to call GetTypingDetectionStatus.
* Consolidate typing detection disablement to reduce boilerplate.

R=niklas.enbom@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4247 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-19 17:03:47 +00:00
956aa7e087 Include files from webrtc/.. paths in voice_engine/
BUG=1662
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4079 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 13:52:32 +00:00
9213521ea9 Remove const for plain data types in voice_engine/
BUG=1644
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4018 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 08:31:39 +00:00
a442d4d983 Removed all code enclosed in WEBRTC_SRTP #ifdefs, and the unsupported VoE SRTP APIs. Test stubs are left in place as we still have the (De)RegisterExternalEncryption() APIs, although they are currently untested.
Today I had to figure out this code was legacy. Now next person doesn't have to.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3738 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-28 09:14:36 +00:00
1b31c78e5f Remove VoE's default call in Trace::SetLevelFilter.
This is an application level setting. Applying it here has the potential to override the application's preferences.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3727 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-26 14:09:48 +00:00
f0a90c37c4 Expose the capture-side AudioProcessing object and allow it to be injected.
* Clean up the configuration code, including removing most of the weird defines.
* Add a unit test.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3605 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-05 01:12:49 +00:00
1e7ed7afe9 Use LOG_F interface for unsupported functions.
This will provide the function name in the log.

BUG=b/8115521
TESTED=enabled ANDROID_NOT_SUPPORTED on Linux and observed log lines as expected

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-05 21:23:39 +00:00
4a6f62d4dc Remove (in practice) the voice engine channel limit.
There's really no reason for this limit. I've bumped it to a
practically unreachable ceiling, with a TODO for removing it
entirely.

TBR=henrika
BUG=b/8122300

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3459 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 23:42:44 +00:00
218c542c0b Make VoE handle longer delays
Review URL: https://webrtc-codereview.appspot.com/1047004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3385 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-17 22:25:49 +00:00
00c7c4315b Replace voice engine utility functions with system wrapper variants.
SLEEP -> SleepMs
GET_TIME_IN_MS -> TickTime::MillisecondTimestamp

These could cause unused function errors on some compilers.

BUG=1228

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3326 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-02 16:06:39 +00:00
d5fbdc8e52 Increase number of channels that can be supported on Android
BUG=
TEST=local
Review URL: https://webrtc-codereview.appspot.com/967005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3090 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-13 21:30:34 +00:00
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00