History log of /external/webrtc/webrtc/voice_engine/transmit_mixer.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6955870806624479723addfae6dcf5d13968796c 13-Jan-2016 Peter Kasting <pkasting@google.com> Convert channel counts to size_t.

IIRC, this was originally requested by ajm during review of the other size_t conversions I did over the past year, and I agreed it made sense, but wanted to do it separately since those changes were already gargantuan.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, henrika@webrtc.org, kjellander@webrtc.org, minyue@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11229}
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
ff761fba8274d93bd73e76c8b8a1f2d0776dd840 04-Nov-2015 Henrik Kjellander <kjellander@webrtc.org> modules: more interface -> include renames

This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
"use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

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

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

Cr-Commit-Position: refs/heads/master@{#10500}
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
cdfe20bfc1146030aa59eb37635fd2fbcecd6cdb 23-Sep-2015 Alejandro Luebs <aluebs@webrtc.org> Fix the maximum native sample rate in AudioProcessing

BUG=webrtc:4983
R=andrew@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10037}
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
dce40cf804019a9898b6ab8d8262466b697c56e0 24-Aug-2015 Peter Kasting <pkasting@google.com> 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}
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
00b8f6b3643332cce1ee711715f7fbb824d793ca 26-Feb-2015 kwiberg@webrtc.org <kwiberg@webrtc.org> Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away

BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
6b02eea6acb571175ed220137ec44c841df6f535 12-May-2014 henrika@webrtc.org <henrika@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Removes parts of the webrtc::VoEFile sub API as part of a clean-up operation where the goal is to remove unused APIs.

BUG=3206
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6103 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
f5a33f145b74d9c6058c670baf7b6201b78f6e48 19-Apr-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Resampler modifications in preparation for arbitrary audioproc rates.

- Templatize PushResampler to support int16 and float.
- Add a helper method to PushSincResampler to compute the algorithmic
delay.

This is a prerequisite of:
http://review.webrtc.org/9919004/

BUG=2894
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5943 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
40ee3d07eda24b8e8214429d9885d9ad9a2c04f7 03-Apr-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
75dd2885c5e8fe1db6ea4384fe744e0bdecdcaeb 11-Feb-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Add an interface for accepting keypress signals to AudioProcessing.

R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5529 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
c693704cc209083ae439c312ff89bec5a2cf23d0 30-Jan-2014 henrikg@webrtc.org <henrikg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Move out typing detection to its own class.

This will allow an embedder to use it directly.

Adding inertia/hangover time between updates of the reported detection status to the algorithm, controlled by a parameter. That is usually desired and this way a consumer of
the class don't have to implement that. (VoiceEngine will let it be 1, which results in the same behavior as before, and keep controlling the hangover itself.)

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5462 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
023cc5abc7d25fb3133b4d0206b67dcc6204b6e8 11-Jan-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Minor voice engine improvements around AGC.

- Remove one unneeded lock in CaptureLevel(), as the call to this
method should always come on the same thread as PrepareDemux().
- Remove check on analog AGC before doing volume calculations. Saves a
bit of code. Instead check if the incoming volume is set to zero, which
is a potentially common occurrence as it indicates no volume is
available.

R=aluebs@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5366 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
0062a6d0995c24f423504aba83b3f086cabec924 24-Dec-2013 braveyao@webrtc.org <braveyao@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Fix the include guard in transmit_mixer.h

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5334 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
a7cfa6704af8ac20acec4d195088053f7043b66f 24-Dec-2013 braveyao@webrtc.org <braveyao@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Fix the include guard in transmit_mixer.h

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5333 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
bf00740c92839865f3656fb4ee02b144f26b2012 17-Sep-2013 jiayl@webrtc.org <jiayl@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Adds a new voice engine warning for the typing noise off state.
The old VE_TYPING_NOISE_WARNING is unchanged and fired whenever typing noise is detected.
The new VE_TYPING_NOISE_OFF_WARNING is fired when typing noise was detected and is gone now.
This is necessary for converting the typing state to a PeerConnection stats.

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4770 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
8fff1f065ea9d25970c3839294acdd606a5ddf22 31-Jul-2013 xians@webrtc.org <xians@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Merge r4394 from stable to trunk.

r4326 was mistakenly committed to stable, so this is to re-merge back to trunk.

Fixed the AGC and interface problems on the new path.

In order to make the AGC work properly, we need to cache the volume value passed
by the callback, compare it with the value returned by
shared->transmit_mixer()->CaptureLevel(). If they are the same, we need to
return 0 to indicate no volume needs changing, otherwise return the new volume.
By doing this, we avoid setting the volume all the same, which allows the users
to change the volume manually.

This patch also fixes some minor issues with the interfaces too: make the int
channel[] const, and correct the order of the input params in
channel::Demultiplex.

R=tommi@webrtc.org

BUG=[2134]
TEST=compile && manual AGC test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4450 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
2f84afad30b088ddebb4063bc47ac9a79d735a2b 31-Jul-2013 xians@webrtc.org <xians@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Merge r4326 from stable to trunk.

r4326 was mistakenly committed to stable, so this is to re-merge back to trunk.

Add new interface to support multiple sources in webrtc.
CaptureData() will be called by chrome with a flag |need_audio_processing| to
indicate if the data needs to be processed by APM or not. Different from the old
interface that will send the data to all voe channels, the new interface will
specify a list of voe channels that the data is demultiplexing to.

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4449 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
d900e8bea84c474696bf0219aed1353ce65ffd8e 03-Jul-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
9213521ea98b0977c7cdabd2853060835af226f3 14-May-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
3be565b502850f073fbfba2137a3d798464634b9 07-May-2013 niklas.enbom@webrtc.org <niklas.enbom@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Refactoring for typing detection

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3976 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
28e82bfec6db40aa9bb9aeeb3248f5d6d72e0b84 02-May-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Replace Resampler with PushResampler in transmit_mixer.

* VoE can now exchange 44.1 kHz audio with AudioDevice.
* Changes still required in AudioDevice to remove the 44 kHz workarounds and
enable native 44.1 kHz.

BUG=webrtc:1395
TESTED=voe_cmd_test loopback running through codecs using all combinations of {8, 16, 32} kHz and {1, 2} channels, and Opus (48 kHz, stereo)
R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3930 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
6141e13873d0fdea626de08dfec2efa2c9171c76 09-Apr-2013 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> WebRtc_Word32 -> int32_t in voice_engine/

BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3792 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
2412085bc1d95bcae2ee6987206b73bd1c2f5080 02-Mar-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Don't upsample the capture signal early.

* Remove the unneeded _mixingFrequency.
* Rename CheckForSendCodecChanges to better elucidate its function.
* Remove an unnecessary memcpy.

Upsampling should be done late in the chain. This is practically relevant
on mobile, where the capture rate is fixed at 16 kHz. When using Opus, the
signal was upsampled to 32 kHz and was no longer compatible with AECM, which only supports up to 16 kHz.

NEEDS_QA=true
TEST=run calls with a variety of capture device rates and codecs
BUG=chromium:178040,webrtc:1446

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3594 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
6be1e934ad48ccdac734b5cbd50528235ec93816 01-Mar-2013 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Properly error check calls to AudioProcessing.

Checks must be made with "!= 0", not "== -1". Additionally:
* Clean up the function calling into AudioProcessing.
* Remove the unused _noiseWarning.
* Make the other warnings bool.

BUG=chromium:178040

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3590 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/voice_engine/transmit_mixer.h
14b43beb7ce4440b30dcea31196de5b4a529cb6b 22-Oct-2012 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> 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
/external/webrtc/webrtc/voice_engine/transmit_mixer.h