Changes:
1. Removed _voiceEngineObserver boolean flag, because its value is equal to (_voiceEngineObserverPtr != NULL).
2. Removed WEBRTC_TRACE macro usage wherever it was unnecessary to log. Replaced its usage with LOG_F (new and preferred way to log messages) wherever it is useful to log.
3. Replaced asserts with CHECKs.
Discussion:
To make it easier to review the changes, I didn't reformat the code to make it compliant to the new coding standards. It is up for debate how much reformatting to do: the whole file/class or just the methods that I have touched. My vote - go for the whole class.
R=henrika@webrtc.org, kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51579004
Cr-Commit-Position: refs/heads/master@{#8983}
With this change, the currently used encoder is held in a scoped_ptr.
iSAC is a special case, since the encoder instance is also a decoder
instance, so it may have to be available also if another send codec is
used. This is accomplished by having a separate scoped_ptr for iSAC.
Remove mirror ID from ACM codec database functions, and remove unused
functions from the database.
COAUTHOR=kwiberg@webrtc.org
BUG=4228
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48729004
Cr-Commit-Position: refs/heads/master@{#8982}
Buildbot Android Tests (L Nexus9)(dbg) consistently fails on Instrumentation test libjingle_peerconnection_android_unittest (VideoCapturerAndroidTest) after this CL was landed.
This reverts commit f4acf46c863f2d516b09b00b39608de7e506ac65.
BUG=
TBR=perkj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45079004
Cr-Commit-Position: refs/heads/master@{#8981}
- Do not handle more than one camera switch request at a time
to avoid blocking camera thread with multiple switch requests.
- Add a callback to notify when camera switch has been done.
R=perkj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46859004
Cr-Commit-Position: refs/heads/master@{#8978}
ViEChannels without default encoders doesn't register a receive codec by
default. This makes VideoReceiver::Decode return early, causing a
high-priority thread to effectively be busy looping. This would be
expected to wreck more havoc in a more cross-platform manner than it has
visibly done. On Windows XP however it manages to bring the whole
machine to a grinding halt forcing a reboot if CPU usage hits 100%.
BUG=chromium:470013
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48049004
Cr-Commit-Position: refs/heads/master@{#8976}
Also prevents that we try to restore audio mode when it has not been changed.
TBR=glaznev
BUG=NONE
TEST=AppRTCDemo and verify that volume control switches from "Ringtone to Phone" mode when call starts and switches back to Ringtone mode when call ends.
Review URL: https://webrtc-codereview.appspot.com/46879004
Cr-Commit-Position: refs/heads/master@{#8975}
It is just a pass through to webrtc/video_frame.h. Updated the callers
to include webrtc/video_frame.h instead and removed i420_video_frame.h.
This should fix pbos' TODO in i420_video_frame.h.
Tested on Linux with the following command lines:
$ rm -rf out/
$ ./webrtc/build/gyp_webrtc
$ ninja -C out/Debug
BUG=None
TEST=see above
R=magjed@webrtc.org, pbos@webrtc.org, tommi@webrtc.orgTBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46819004
Patch from Thiago Farina <tfarina@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#8973}
Using the single stream bwe is really bad for the screenshare
test case in particular, but would probably help in other
cases as well so enabling it by default in CallTest setup.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/43089004
Cr-Commit-Position: refs/heads/master@{#8971}
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
(WEBRTC_SPL_MUL_16_16(a, b) >> (c))
where the latter macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)
The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parentheses and style changes
- removed commented code lines used during development
- excluded fft.c since there are neon optimizations used and a removal may cause a performance regression
BUG=3348, 3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48799004
Cr-Commit-Position: refs/heads/master@{#8967}
There is no point in returning an error when Free() fails. In fact it can only happen if we have a null pointer as object. There is further no place where the return value is used.
Affected components are
- aec
- aecm
- agc
- ns
BUG=441
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50579004
Cr-Commit-Position: refs/heads/master@{#8966}
Now that android_webview_build is no longer supported, remove build
conditionals referencing it and also remove the extra level of
indirection used to reference the cpufeatures target.
BUG=chromium:440793
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44119005
Patch from Richard Coles <torne@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#8963}
We should not continue the program if the user asked for help.
Tested on Linux with the following command line:
$ out/Debug/frame_analyzer --help
BUG=None
TEST=see above
R=kjellander@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44069004
Patch from Thiago Farina <tfarina@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#8961}
We used to symlink the .gn file from Chromium but it's now
replaced by our own copy (needed for recent GN changes in
https://codereview.chromium.org/988563002).
Relevant changes:
* src/third_party/boringssl/src: e2e1326..40acdae
* src/third_party/icu: 46be516..10834e8
* src/third_party/nss: bb4e75a..d1edb68
* src/tools/gyp: d174d75..2889664
The entries for
* src/third_party/jsoncpp/source/include
* src/third_party/jsoncpp/source/src/lib_json
are removed and replaced by:
* src/third_party/jsoncpp/source @ab1e40f
(which doesn't matter for us since we symlink third_party/jsoncpp
Details: 5333e14..d8f8dc8/DEPS
Clang version was not updated in this roll.
R=henrika@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48919004
Cr-Commit-Position: refs/heads/master@{#8959}
CopyCodecSpecific nulls out the rtpheader pointer hence causing the crash downstream.
More details about the codec type enums:
There are 2 enums defined. webrtc::VideoCodecType webrtc::RtpCodecTypes and they don't match. Inside CopyCodecSpecific in generic_encoder.cc, it was converted from the first to the 2nd type. At that point, it'll be kRtpVideoNone (as the effect of memset to 0). kRtpVideoNone is a bad value as it could cause assert. Later, it'll be reset to kRtpVideoGeneric in RTPSender::SendOutgoingData so it's not a concern.
BUG=4511
R=pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org
Committed: https://crrev.com/29b1a1c0c7c6f4b1ae4d63844b1dfaa7a72530a0
Cr-Commit-Position: refs/heads/master@{#8951}
Review URL: https://webrtc-codereview.appspot.com/47999004
Cr-Commit-Position: refs/heads/master@{#8955}
CopyCodecSpecific nulls out the rtpheader pointer hence causing the crash downstream.
More details about the codec type enums:
There are 2 enums defined. webrtc::VideoCodecType webrtc::RtpCodecTypes and they don't match. Inside CopyCodecSpecific in generic_encoder.cc, it was converted from the first to the 2nd type. At that point, it'll be kRtpVideoNone (as the effect of memset to 0). kRtpVideoNone is a bad value as it could cause assert. Later, it'll be reset to kRtpVideoGeneric in RTPSender::SendOutgoingData so it's not a concern.
BUG=4511
R=pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/47999004
Cr-Commit-Position: refs/heads/master@{#8951}
Since the approach in https://webrtc-codereview.appspot.com/48869004/
was not possible, this is the only way to set
the target_subarch GYP_DEFINES for iOS.
WebRTC doesn't use or support the target_subarch
GYP variable in the same way as Chromium does, and we
currently don't build fat binaries at our buildbots.
This is needed to unblock the chromium_revision roll in
https://webrtc-codereview.appspot.com/50569004/ and it
also makes it a bit easier to build for iOS since it
is no longer needed to set target_subarch=arm64 when
target_arch=arm64 (i.e. when you build for ARM64).
BUG=4503
TESTED=Ran successful project generations using:
GYP_DEFINES="OS=ios target_arch=arm" webrtc/build/gyp_webrtc
and verified the -arch compiler flag was set to 'armv7'
GYP_DEFINES="OS=ios target_arch=arm64" webrtc/build/gyp_webrtc
and verified the -arch compiler flag was set to 'arm64'
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48909004
Cr-Commit-Position: refs/heads/master@{#8949}
This reverts commit cf3c83e76c273309558c86fda915410f65b7a899.
Reverting EventWrapper split did not fix the issue, re-landing.
BUG=chromium:470013
TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/49629004
Cr-Commit-Position: refs/heads/master@{#8946}
Since the GYP variables use_openssl and build_ssl are both
enabled by default on Windows today, I believe we should be able
to clean up the GYP paths that build NSS for Windows.
BUG=4497
TESTED=Passing tryjobs with --clobber specified.
R=pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50559004
Cr-Commit-Position: refs/heads/master@{#8945}
- Check texture properties update flag using the same lock under which
the flag value is set.
- Adjust texture properties inside frame queue lock.
- Plus adding extra logging to track video renderer properties updates.
R=wzh@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45929004
Cr-Commit-Position: refs/heads/master@{#8941}
WebRTC doesn't use or support the target_subarch
GYP variable in the same way as Chromium does, and we
currently don't build fat binaries at our buildbots.
This is needed to unblock the chromium_revision roll in
https://webrtc-codereview.appspot.com/50569004/ and it
also makes it a bit easier to build for iOS since it
is no longer needed to set target_subarch=arm64 when
target_arch=arm64 (i.e. when you build for ARM64).
TBR=tkchin@webrtc.org
BUG=4503
Review URL: https://webrtc-codereview.appspot.com/48869004
Cr-Commit-Position: refs/heads/master@{#8937}
This CL makes ViEFrameCallback::DeliverFrame const and removes the potential frame copy in ViEFrameProviderBase by moving it to ViEEncoder::DeliverFrame instead, for clients that use the FrameCallback functionality to modify the frame content.
BUG=1128
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/43949004
Cr-Commit-Position: refs/heads/master@{#8934}