The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.
Two small but not quite trivial cleanups are included because they
blocked the state_ removal:
- AudioDecoderG722Stereo now inherits directly from AudioDecoder
instead of being a subclass of AudioDecoderG722.
- AudioDecoder now has a CngDecoderInstance member function, which
is implemented only by AudioDecoderCng. This replaces the previous
practice of calling AudioDecoder::state() and casting the result
to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
plainly visible in the AudioDecoder class declaration.
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24169005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7623 4adac7df-926f-26a2-2b94-8c16560cd09d
Packet queue in the paced sender is now based on a priority queue rather than having a separate fifo-queue per priority level. This allows more flexible sorting and cleaner usage.
Packets with earlier capture times are now prioritized higher. In situations with high packet loss, the queue might contain packets from several subsequent frames. Retransmit packets from the earlier frames first, since the later ones will probably be dependent on these.
Also, don't force sending of packets after a certain time of inactivity or when packets grow too old, since this was causing consistent overuse on poor connections. Instead, drop frames in vie encoder if pacer queue is too long.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27869004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7617 4adac7df-926f-26a2-2b94-8c16560cd09d
Since r7255, it could happen that an old packet would block the decoding
process until enough packet was received for the buffer to flush. This
CL fixes that by:
- Partially reverting r7255;
- Remove recent old packets before taking a decision for GetAudio;
- Remove all old packets after a packet has been extracted for decoding;
- Adding tests for reordered packets.
BUG=chrome:423985
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25079004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7612 4adac7df-926f-26a2-2b94-8c16560cd09d
- Add a room list to ConnectActivity with buttons to add/remove rooms.
- Add loopback call button.
- Add option to toggle full screen / letterbox video.
- Add camera fps settings.
- Fix device to landscape orientation for HD video until issue 3936
will be fixed.
- Fix a few crashes by avoiding calling peer connection and
GAE signaling function while connection is closing.
- Better handling GAE channel error - catch channel exceptions and
display dialog with error messages.
BUG=3939, 3935
R=kjellander@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/26979004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7601 4adac7df-926f-26a2-2b94-8c16560cd09d
Pick up the libvpx roll: https://codereview.chromium.org/674753002
Summary of changes (28d1981..d3db2ff/DEPS):
* third_party/android_tools 36bf7ac..ea50ccc
* third_party/boringssl 7ea8481..751e889
* third_party/icu 8ac906f..d8b2a9d
* third_party/libvpx efe9712..2e5ced5
* third_party/usrsctp/usrsctplib
* tools/gyp 1990:1991
* tools/swarming_client a57d7db..bcb3bc3
Clang is not updated in this roll.
Made the change getchar() --> getc(stdin) as seems like getchar() isn't supported on android anymore.
(getchar() was causing the error: undefined reference to '__srget')
Update rate control parameter in vp9 test.
R=andrew@webrtc.orgTBR=ajm@google.com
Review URL: https://webrtc-codereview.appspot.com/23229004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7598 4adac7df-926f-26a2-2b94-8c16560cd09d
The modification only uses the unique part of the analysis_update
function. Pass byte to byte conformance test on both ARMv7 and AArch64,
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-a9 | cortex-a15 |
| use C as the base on each | (1.2Ghz) | (1.0Ghz) | (1.7Ghz) |
| CPU target | | | |
|----------------------------+-----------+-----------+------------|
| Neon asm | 15.61% | 20.15% | 14.89% |
| Neon inline asm (LLVM 3.4) | 25.98% | 33.96% | 18.18% |
| Neon intrinsics (GCC 4.6) | 22.06% | 27.01% | 19.24% |
| Neon intrinsics (GCC 4.8) | 17.28% | 18.23% | 18.55% |
| Neon intrinsics (LLVM 3.4) | 21.02% | 19.98% | 16.76% |
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/28849004
Patch from Zhongwei Yao <zhongwei.yao@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7596 4adac7df-926f-26a2-2b94-8c16560cd09d
The update in https://webrtc-codereview.appspot.com/23309004
was not enough, so this updates to 21 instead.
This is required in order to roll chromium_revision to
keep up with Chrome, as third_party/android_tools have now
dropped support for API level 20.
Commands used:
third_party/android_tools/sdk/tools/android update project --name OpenSlDemo --target android-21 --path webrtc/examples/android/opensl_loopback
third_party/android_tools/sdk/tools/android update project --name WebRTCDemo --target android-21 --path webrtc/examples/android/media_demo/
third_party/android_tools/sdk/tools/android update project --name AppRTCDemo --target android-21 --path talk/examples/android/
Then I restored the changes of the ANDROID_SDK_ROOT -> ANDROID_HOME since it seems the Chromium build toolchain doesn't set it properly when
build/android/envsetup.sh is sourced.
BUG=
R=glaznev@webrtc.org, henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25029004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7587 4adac7df-926f-26a2-2b94-8c16560cd09d
The modification only uses the unique part of the synthesis_update
function. Pass byte to byte conformance test both on ARMv7 and ARMv8,
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):
| run 100k times | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base | (1.2Ghz) | (1.0Ghz) | (1.7Ghz) |
| (the smaller the better) | | | |
|----------------------------+-----------+-----------+------------|
| C | 100% | 100% | 100% |
| Neon asm | 15.93% | 17.01% | 12.50% |
| Neon inline asm | 27.74% | 31.41% | 14.64% |
| Neon intrinsics (GCC 4.8) | 17.84% | 14.10% | 13.84% |
| Neon intrinsics (LLVM 3.4) | 16.63% | 14.01% | 12.98% |
BUG=3580
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23159004
Patch from Zhongwei Yao <zhongwei.yao@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7586 4adac7df-926f-26a2-2b94-8c16560cd09d
Given that OpenJDK 1.7 is the recommended Java SDK for
Chromium these days, we should get rid of linking to the old
non-standardized link referring to a Sun Java 1.6 SDK.
Instead of requiring all users to set JAVA_HOME, I prefer
have the most common path as default and and close webrtc:2113
as won't fix after this is submitted.
BUG=2113
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29839004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7584 4adac7df-926f-26a2-2b94-8c16560cd09d
This is required in order to roll chromium_revision to
keep up with Chrome, as third_party/android_tools have now
dropped support for API level 19.
Commands used:
third_party/android_tools/sdk/tools/android update project --name OpenSlDemo --target android-20 --path webrtc/examples/android/opensl_loopback
third_party/android_tools/sdk/tools/android update project --name WebRTCDemo --target android-20 --path webrtc/examples/android/media_demo/
third_party/android_tools/sdk/tools/android update project --name AppRTCDemo --target android-20 --path talk/examples/android/
Then I restored the changes of the ANDROID_SDK_ROOT -> ANDROID_HOME since it seems the Chromium build toolchain doesn't set it properly when
build/android/envsetup.sh is sourced.
BUG=
R=glaznev@webrtc.org, henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23309004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7582 4adac7df-926f-26a2-2b94-8c16560cd09d