The previous change causes a build issue as there is subclass of TransportChannel in chromium. To break the circular dependency, a stub of implementation for GetState() is provided and will be removed once the jingle_glue::MockTransportChannel has the function defined.
TBR=pthatcher@webrtc.org
BUG=411086
Review URL: https://webrtc-codereview.appspot.com/34369004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7806 4adac7df-926f-26a2-2b94-8c16560cd09d
Previously, IceState is considered completed when there is only one connection (and the rest was trimmed). However, since the trimming logic is only done within the scope of network, when IPv6 and IPv4 both exist, the completion event is never fired.
This change adds the GetState() to each channel and it could decide what Completion means. The transport object then aggregates all channels before determining it's completed.
Each channel's IceState will be aggregrated at Transport level for overall Ice state
BUG=411086
R=pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/30949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7804 4adac7df-926f-26a2-2b94-8c16560cd09d
The modification only uses the unique part of the WebRtcSpl_MaxAbsValue
function. Pass Spltest.MinMaxOperationTest conformance test on both
ARMv7 and ARM64. And the single function performance is similar with
original assembly version on different platforms. If not specified, the
code is compiled by GCC 4.6. The result is the "X version / C version"
ratio, and the less is better.
| run 100k times | cortex-a7 | cortex-a15 |
| use C as the base on each | (1.2Ghz) | (1.7Ghz) |
| CPU target | | |
|----------------------------+-----------+------------|
| Neon asm | 32% | 15% |
| Neon intrinsics (GCC 4.6) | 36% | 37% |
| Neon intrinsics (GCC 4.8) | 35% | 18% |
BUG=3580
R=andrew@webrtc.org, jridges@masque.com
Change-Id: Ia2f6822ec58774b401cc440b6751a97e540b5048
Review URL: https://webrtc-codereview.appspot.com/30109004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7803 4adac7df-926f-26a2-2b94-8c16560cd09d
The modification only uses the unique part of the
WebRtcIsacfix_AutocorrC function. Pass FiltersTest.AutocorrFixTest test
on both ARMv7 and ARM64, and the single function performance is similar
with original assembly version on different platforms. If not
specified, the code is compiled by GCC 4.6. The result is the "X
version / C version" ratio, and the less is better.
| run 100k times | cortex-a7 | cortex-a15 |
| use C as the base on each | (1.2Ghz) | (1.7Ghz) |
| CPU target | | |
|----------------------------+-----------+------------|
| Neon asm | 24% | 23% |
| Neon intrinsics (GCC 4.6) | 33% | 32% |
| Neon intrinsics (GCC 4.8) | 27% | 27% |
BUG=3850
R=andrew@webrtc.org, jridges@masque.com
Change-Id: Id6cd0671502fadbebd10b1f5493f5b16c988286f
Review URL: https://webrtc-codereview.appspot.com/27999004
Patch from Zhongwei Yao <zhongwei.yao@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7802 4adac7df-926f-26a2-2b94-8c16560cd09d
All *neon.S files in aecm and ns modules have been removed. We need no
assembly offset generation now.
Pass byte to byte conformance test for aecm and ns test in audioproc
between new NEON (written in intrinsics) version and C version on both
ARMv7 and ARM64.
BUG=3580
R=andrew@webrtc.org, jridges@masque.com
Change-Id: I05d43d0c04d00bead65ca8c8fda25f0a42394b2b
Review URL: https://webrtc-codereview.appspot.com/32229004
Patch from Zhongwei Yai <zhongwei.yao@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7800 4adac7df-926f-26a2-2b94-8c16560cd09d
The Android test execution toolchain scripts in Chromium
has been causing headaches for us several times. Mostly
because they're tailored at running Chrome tests only.
Wrapping their script in our own avoids the pain of
upstreaming new test names to Chromium and rolling them
in to get them running on our bots.
TESTED=Ran a test on a local device using:
webrtc/build/android/test_runner.py gtest -s audio_decoder_unittests --verbose --isolate-file-path webrtc/modules/audio_coding/neteq/audio_decoder_unittests.isolate --release
TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25269004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7794 4adac7df-926f-26a2-2b94-8c16560cd09d
Pass compilation on both ARMv7 and ARM64. The generated
binary (audioproc) is byte to byte (with symbol striped) same as
before. The output of audioproc -aecm is also byte to byte same between
C and NEON version on ARMv7 and ARM64.
Change-Id: Ibdf40fe085f6bad1311f59bf9318bbcf37dd7ce5
BUG=3850
R=andrew@webrtc.org, jridges@masque.com
Review URL: https://webrtc-codereview.appspot.com/30239004
Patch from Zhongwei Yao <zhongwei.yao@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7783 4adac7df-926f-26a2-2b94-8c16560cd09d
The reason is that the desktop apprtcdemo only handle one MediaStream and this doesn't play audio if it receive two streams.
TEST=Test that a call with audio and video can be setup between an Android device and a desktop client using apprtc.appspot.com.
BUG=4051,3786
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31069004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7781 4adac7df-926f-26a2-2b94-8c16560cd09d
Two VP9 tests needed to be disabled (see webrtc:4059) to make all tests pass.
Relevant changes:
* src/third_party/android_tools: ea50ccc..4c47ef6
* src/third_party/icu: dd72764..866ff69
* src/third_party/libvpx: 2e5ced5..429874c
* src/third_party/nss: 258342e..bb4e75a
* src/third_party/yasm/source/patched-yasm: c960eb1..4671120
* src/tools/gyp: 0a381c0..fe00999
* src/tools/swarming_client: 5b827c9..1d4965c
Details: 309cf65..24b4c73/DEPS
Clang version was not updated in this roll.
BUG=4059
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/26289004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7778 4adac7df-926f-26a2-2b94-8c16560cd09d
Implemented the 3 bands splitting filter bank by:
1. Upsample by 4/3.
2. Split twice into 2 bands.
3. Discard upper most band, because it is empty anyway.
A unittest was also implemented:
1. Generate a signal from presence or absence of sine waves of different frequencies.
2. Split into 3 bands and check their presence or absence.
3. Recombine the bands.
4. Calculate delay (as it is an IIR it depends on frequency).
5. Check that the cross correlation of input and output is high enough at that delay.
BUG=webrtc:3146
R=andrew@webrtc.org, bjornv@webrtc.org, kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31029004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7754 4adac7df-926f-26a2-2b94-8c16560cd09d