Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Перейти к файлу
Paul Adenot 14fb321adc Bug 1397793 - Move to APM - Part 2 - Actual processing. r=pehrsons
This also is long, but simple.

First, we switch to floats everywhere. This allows to work with any rate, is
more flexible with channel layout, and is a stable API (see audio_processing.h
in webrtc.org).

Then, 10ms worth of audio (already at the graph rate) are poped from the
lock-free queue (fed on the other end by the MSG mixer), and does the following:
- Down mixing to stereo (if needed)
- De-interleaving into planar buffer
- Prepare input and output config
- Actually make the API call
- Free the data

Now, first, we should use a ring buffer, and not have to free any data. Then we
also should not use a lock-free queue, and synchronously process the
reverse-stream, but this is enough code already.

Then, the actual mic data processing:
- Pop a packet from the packetizer (that gives us 10ms worth of audio, note that
we switch from int16_t to float, i.e. we don't do this conversion anymore).
- We convert to planar buffers, deinterleaving
- Prepare input and output config
- Allocate a SharedBuffer of the right size
- Process the data with the processing algorithm selected in UpdateSingleSource
- Append to the a MediaSegment, and append to the right MediaStreamTrack for the
correct SourceMediaStream (the data is already planar and all well).

MozReview-Commit-ID: 2IjgHP0GAmw

--HG--
extra : rebase_source : 1e08c4a781db8778e0532f9ef1a8e369513a2c66
extra : source : 0107b3feb84bbe0e643f505ec58e303dfd94e1a7
2017-12-04 13:34:14 +01:00
.cargo Bug 1424280 - Replace serde and serde_derive with Gankro's modified branch. r=jrmuizel 2017-12-10 13:48:54 -05:00
.vscode Bug 1423565 - Update tasks.json as per documentation. r=rillian 2017-12-06 14:59:35 +01:00
accessible Bug 1424657: Make IAccessible::accChild handle remote ids for popup windows. r=eeejay 2017-12-11 14:35:00 +10:00
browser Merge inbound to mozilla-central r=merge a=merge 2017-12-14 00:01:37 +02:00
build Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-12-13 12:14:29 +02:00
caps Bug 1422177 - add tests for moz-icon being non-linkable from the web, r=bz,jkt 2017-12-04 15:26:34 +00:00
chrome Bug 1367704 - Enable the semi ESLint rule across the tree. r=standard8 2017-05-28 19:57:46 +01:00
config Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester 2017-12-04 11:19:25 -05:00
db Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
devtools Merge mozilla-central to inbound. r=merge a=merge CLOSED TREE 2017-12-14 00:20:59 +02:00
docshell Bug 1293277 P6 Use the ClientInfo.Id() value for FetchEvent.clientId. r=baku 2017-12-12 15:44:48 -05:00
dom Bug 1397793 - Move to APM - Part 2 - Actual processing. r=pehrsons 2017-12-04 13:34:14 +01:00
editor Bug 1424677 - Don't use wstring for nsIEditorSpellCheck. r=masayuki 2017-12-13 04:14:27 -06:00
embedding
extensions Bug 1424677 - Don't use wstring for nsIEditorSpellCheck. r=masayuki 2017-12-13 04:14:27 -06:00
gfx Bug 1415034 - Add drop-shadow support. r=kats 2017-12-13 12:57:01 -06:00
gradle/wrapper
hal Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj 2017-10-24 23:30:31 -07:00
image Bug 1351447 - Rename imagelib's DrawResult to ImgDrawResult r+tnikkel r=tnikkel 2017-12-11 15:37:59 +00:00
intl Bug 1423408 - Allow line-break between ellipsis/leader dots and a following letter. r=masayuki 2017-12-12 16:21:55 -06:00
ipc Bug 1399787 - Part 9. Sandbox the PDFium process. r=bobowen,jwatt 2017-10-18 20:52:45 +08:00
js Bug 1415882 - Part 3: Update test262 exclusion list. r=evilpie 2017-12-12 13:38:27 -06:00
layout Merge inbound to mozilla-central r=merge a=merge 2017-12-14 00:01:37 +02:00
media Bug 1397793 - Revert Mozilla changes to OutputMixer r=jesup 2017-10-31 17:40:19 +01:00
memory Merge inbound to mozilla-central r=merge a=merge 2017-12-09 00:36:15 +02:00
mfbt Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium 2017-12-08 13:46:13 +01:00
mobile Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-12-13 12:14:29 +02:00
modules Bug 1397793 - Move to APM - Part 1 - UpdateSingleSource. r=pehrsons 2017-10-31 18:25:41 +01:00
mozglue Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
netwerk Bug 1424754 Fix some corner cases in PartiallySeekableInputStream cloning and serialization. r=baku 2017-12-13 09:56:31 -05:00
nsprpub Bug 1420407, NSPR_4_18_BETA3, r=me 2017-12-07 12:22:42 +01:00
other-licenses Backed out 5 changesets (bug 1418425) for Windows updater bustages and xpshell failures on toolkit/mozapps/update/tests/unit_base_updater/marSuccessPartial.js r=backout on a CLOSED TREE 2017-12-12 17:48:45 +02:00
parser Bug 1394734 - Simplify various corner cases r=glandium 2017-12-07 22:10:19 +01:00
python Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-12-13 12:14:29 +02:00
rdf Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
security No bug, Automated HPKP preload list update from host bld-linux64-spot-034 - a=hpkp-update 2017-12-13 12:01:21 -08:00
services Bug 1415560 - ignore insertMany result and add an onError handler to log errors. r=tcsc 2017-12-04 12:49:06 +11:00
servo servo: Merge #19549 - Add telemetry probe for measuring frequency of parallel restyles (from Manishearth:telemetry); r=emilio 2017-12-12 10:14:31 -06:00
startupcache Bug 1410471 - Remove StartupCacheWrapper and friends. r=froydnj 2017-10-20 10:40:50 -07:00
storage Bug 1423820 - Copy temp entities after reattaching databases to a cloned storage connection. r=mak 2017-12-06 22:34:18 -08:00
taskcluster Bug 1424959 Add reqd environment for partial mar metric collection r=rail 2017-12-12 22:15:45 -06:00
testing Bug 1397612 - Skip TestQuitRestart.test_in_app_restart_safe_mode across all platforms. r=whimboo 2017-12-13 15:53:30 -06:00
third_party Bug 1424664 - Remove heapsize support from js/rust/ r=njn 2017-12-11 02:06:28 +01:00
toolkit Backed out changeset 49f68b1f4c2e (bug 1374631) for build bustages at toolkit/components/telemetry/TelemetryProcessData.h:31:1 r=backout on a CLOSED TREE 2017-12-13 19:10:10 +02:00
tools Merge inbound to mozilla-central r=merge a=merge 2017-12-09 00:36:15 +02:00
uriloader Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
view Bug 1414666 part 1 - Add nsIFrame::PresShell() for convenient access to the shell. r=emilio 2017-11-09 03:00:48 +01:00
widget Merge inbound to mozilla-central r=merge a=merge 2017-12-14 00:01:37 +02:00
xpcom Bug 1424183 - nsMultiplexInputStream must call OnInputStreamReady only when there is data available, r=smaug 2017-12-13 05:11:12 -06:00
xpfe Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium 2017-12-07 22:09:15 +01:00
.arcconfig Bug 1424950: Add missing repository.callsign to .arcconfig. r=dkl 2017-12-13 15:38:18 +01:00
.clang-format Bug 1414764 - Remove Mozilla specific options to avoid build warnings with gcc and -Wcomment enabled. r=sylvestre 2017-11-06 11:47:40 +02:00
.clang-format-ignore Backed out changeset 31f259ee387b (bug 1411004) for failing flake8 at tools/mach_commands.py:307:14 | indentation is not a multiple of four. r=backout 2017-10-31 16:20:11 +01:00
.cron.yml Bug 1418188 - Run Searchfox indexing in TaskCluster on a daily basis (r=dustin,chmanchester) 2017-11-23 07:25:12 -08:00
.eslintignore Bug 1424571 - Move all notification tests to dom/notification; r=baku 2017-12-10 17:51:17 -08:00
.eslintrc.js Bug 1424879 - Enable mozilla/use-services for xpcom/. r=froydnj 2017-12-11 20:19:38 +00:00
.flake8
.gdbinit
.gdbinit_python
.gitignore Bug 1419836 - ID .gitignore entry ignores "id" locale (for mac). r=standard8 2017-11-22 10:30:55 -08:00
.hgignore Bug 1415168 - Fix 404 error when running talos speedometer locally; r=igoldan 2017-11-28 15:35:44 -05:00
.hgtags No bug - Tagging mozilla-central 1f91961bb79ad06fd4caef9e5dfd546afd5bf42c with FIREFOX_NIGHTLY_58_END. a=release DONTBUILD CLOSED TREE 2017-11-12 21:12:59 -05:00
.inferconfig
.lldbinit
.taskcluster.yml Bug 1420469 - action task routes use literal "$ownTaskId" r=bstack 2017-11-24 12:56:24 -05:00
.yamllint
.ycm_extra_conf.py
AUTHORS
CLOBBER Bug 1416465 - Expand pattern when track file is created rather than read. r=mshal 2017-12-02 16:51:19 +09:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Backed out 4 changesets (bug 1424651) as requested by tomprice r=backout on a CLOSED TREE 2017-12-12 06:33:18 +02:00
README.txt
aclocal.m4
build.gradle (bug 1411688) Make --with-gradle handle single-locale repack r=snorp a=reland 2017-11-06 15:23:47 +02:00
client.mk Bug 1417264 - Write .mozconfig.json from Python; r=nalexander 2017-11-13 17:45:03 -08:00
client.py
configure.in
configure.py Bug 1412460 - Don't write make variables in configure.d; r=mshal 2017-11-01 15:02:11 -07:00
gradle.properties
gradlew
mach
moz.build Bug 1417309 - Add the necessary bits to support a --enable-project=memory option. r=nalexander 2017-11-16 08:37:36 +09:00
moz.configure Bug 1325632 - part 5 - ensure that we compile with -fno-sized-deallocation when possible; r=chmanchester 2017-11-15 14:53:16 -04:00
mozilla-config.h.in
npm-shrinkwrap.json Bug 1371293 - Upgrade ESLint to version 4.8.0, configuration changes. r=mossop 2017-10-09 10:54:16 +01:00
old-configure.in Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester 2017-12-04 11:19:25 -05:00
package.json Bug 1371293 - Upgrade ESLint to version 4.8.0, configuration changes. r=mossop 2017-10-09 10:54:16 +01:00
settings.gradle Bug 1360587 - Part 2. Remove bouncer apk build config; source; docs, r=nalexander 2017-10-25 22:51:44 +08:00
test.mozbuild

README.txt

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://nightly.mozilla.org/