Commit Graph

8633 Commits

Author SHA1 Message Date
e432800aeb Enable CPU adaptation by default.
WebRtcVideoEngine2 doesn't support CPU-monitor-based adaptation and as
such requires encoder-time-based CPU adaptation to perform any
adaptation at all.

BUG=4536
R=asapersson@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9001}
2015-04-14 20:45:23 +00:00
fcf54bdabb Reland "Avoid critsect for protection- and qm setting callbacks in
VideoSender."

The original Cl is uploaded as patch set 1, the fix in ps#2 and I'll rebase in ps#3.

BUG=4534
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9000}
2015-04-14 19:28:03 +00:00
73ba7a690f Remove PORTALLOCATOR_ENABLE_BUNDLE, PortAllocatorSessionProxy, PortAllocatorSessionMuxer, and PortProxy.
R=decurtis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8999}
2015-04-14 16:25:58 +00:00
74b9769e4e Deliver RTCP packets only once per send stream.
For simulcast VideoSendStreams there are more than one entry in the SSRC
table causing RTCP to currently be delivered more than once per stream.
This messes up unique NACK stats as all NACK requests sent to such a
sender will be delivered multiple times and not look unique.

BUG=4544
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8998}
2015-04-14 11:31:39 +00:00
2dd6a270c0 VoE: format VoEBase according to new style guide
Purely cosmetic changes:
1. virtual => override
2. NULL => nullptr
3. data member name: underscore prefix => suffix
4. clang format

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8997}
2015-04-14 07:46:57 +00:00
0de7bcf06a Removes use of AudioManager.setSpeakerphoneOn in audio manager
BUG=NONE
TEST=AppRTCDemo
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8996}
2015-04-14 07:19:49 +00:00
6739952b0f Roll chromium_revision 70a0480..ac81bcc (324430:324836)
Relevant changes:
* src/third_party/jsoncpp/source: ab1e40f..f572e8e
Details: 70a0480..ac81bcc/DEPS

Clang version was not updated in this roll.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8995}
2015-04-14 06:08:43 +00:00
56d50288e0 Remove SignalCaptureStateChange from MediaEngine.
It's no longer used by anything.

R=juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#8994}
2015-04-14 00:17:36 +00:00
575a8024bc Add an option to update mirror flag in Android video renderer.
Plus fixing incorrect mirror matrix for 90 and
270 degree rotations.

BUG=4398
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8993}
2015-04-13 22:24:47 +00:00
1b67795dc2 Add i386 to ios fat library build script and use boringssl.
BUG=
R=jiayl@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8992}
2015-04-13 21:16:19 +00:00
529921e7cd Explicitly set target_subarch for iOS on ia32/x64
https://webrtc-codereview.appspot.com/48909004/ only fixed
the target_subarch problem for ARM. This fixes it for the
x86 targets that are used for the iOS simulator (ia32/x64).

BUG=4532
TESTED=Built locally using:
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=ia32"
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_sim"
export GYP_CROSSCOMPILE=1
gclient runhooks
ninja -C out_sim/Release-iphonesimulator iossim AppRTCDemo

R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8991}
2015-04-13 20:43:40 +00:00
77f0e3f7b6 Remove GetStartCaptureFormat and some related code.
It is no longer used by anything.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8990}
2015-04-13 17:44:56 +00:00
6ae2572fa6 Add missing configuration of rtx payload type for rtp/rtcp module.
BUG=4528
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8989}
2015-04-13 15:48:16 +00:00
03dec77ce6 Add chromium/_bad_scm to .gitignore
When Chromium decides to move conflicting dependencies
to the _bad_scm directory it is possible to end up with
problems when that directory gets added to the local index.
Ignoring it should avoid such problems.

R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8988}
2015-04-13 14:18:05 +00:00
0f911d71a7 Refactor audio_processing/nsx: Removed usage of macro WEBRTC_SPL_MEMCPY_W16
The macro assumes int16_t pointers, but there is no check for it.

BUG=3348,3353
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8987}
2015-04-13 13:45:07 +00:00
61a4b04f40 Refactor common_audio/vad: Removed usage of trivial macro WEBRTC_SPL_MUL_16_16(a, b)
The 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)

BUG=3348,3353
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8986}
2015-04-13 13:43:42 +00:00
e7b221f476 Remove deadlock in WebRtcVideoEngine2.
Acquiring stream_lock_ in WebRtcVideoChannel2 in a callback from Call
forms a lock-order inversion between process-thread locks and libjingle
locks, manifesting as CPU adaptation requests blocking on stream
creation that is blocked on the CPU adaptation request finishing.

R=asapersson@webrtc.org, mflodman@webrtc.org
BUG=4535,chromium:475065

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

Cr-Commit-Position: refs/heads/master@{#8985}
2015-04-13 13:34:32 +00:00
6fc2d2f487 VoE: revert CHECKs into asserts
Including check.h causes build failure in Chrome due to LOG macros redefinition.

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

Cr-Commit-Position: refs/heads/master@{#8984}
2015-04-13 12:06:57 +00:00
9e5e421b7d VoE: cleanup VoEBaseImpl
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}
2015-04-13 11:41:50 +00:00
93ef1d85fe Change ACM's CodecManager to hold one encoder instead of an array
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}
2015-04-13 07:31:17 +00:00
eba964f472 Revert "Support none multiple of 16 pixels width on android."
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}
2015-04-11 06:55:07 +00:00
99c2fe5d2b Fix NullVideoEngine's CreateChannel implementation.
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8980}
2015-04-10 21:32:42 +00:00
b32a5c48d3 Add more logging around TURN refreshes.
R=jiayl@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8979}
2015-04-10 21:04:45 +00:00
e4ae8d8558 Changes in VideoCapturerAndroid.
- 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}
2015-04-10 18:19:57 +00:00
Per
f4acf46c86 Support none multiple of 16 pixels width on android.
BUG=4522
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8977}
2015-04-10 14:45:27 +00:00
3949e8666e Prevent decoder busy loop for send-only channels.
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}
2015-04-10 13:36:32 +00:00
a125d7d7ad Changes default audio mode in AppRTCDemo to MODE_RINGTONE.
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}
2015-04-10 13:19:24 +00:00
e12a667d7a Remove i420_video_frame.h from common_video.gyp
i420_video_frame.h was removed in
https://webrtc-codereview.appspot.com/46819004/
but common_video.gyp was not updated with this change.

BUG=N/A
TBR=tfarina@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8974}
2015-04-10 12:40:21 +00:00
9bfe3daf73 Cleanup: Remove i420_video_frame.h header.
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.org
TBR=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}
2015-04-10 10:52:15 +00:00
f6c003eda5 cricket::VideoFrameFactory: Handle if created frame is null
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8972}
2015-04-10 10:44:51 +00:00
9526187dde Default enable abs send time bwe for CallTest
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}
2015-04-10 09:58:51 +00:00
09bf1a169b Delays changing to COMMUNICATION mode until streaming starts.
Restores stored audio mode when all streaming stops.

TBR=glaznev
BUG=NONE
TEST=AppRTCDemo

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

Cr-Commit-Position: refs/heads/master@{#8970}
2015-04-10 09:46:54 +00:00
0184057d54 VideoAdapterTest: Replace FileVideoCapturer with FakeVideoCapturer
The unittests are currently flaky due to the use of FileVideoCapturer.

BUG=4317
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8969}
2015-04-10 09:18:39 +00:00
dcbd3acbef Improve BWE plotting and logging to make it possible to use multiple windows/figures.
Also adds plotting of the BWE threshold and offset.

R=solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8968}
2015-04-10 08:35:33 +00:00
f2822edf61 Refactor audio_coding/codecs/isac/fix: Removed usage of macro WEBRTC_SPL_MUL_16_16_RSFT
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}
2015-04-10 06:06:46 +00:00
f6a99e63b6 Refactor audio_processing: Free functions return void
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}
2015-04-10 05:56:59 +00:00
0666a9b28b Remove Transport::Reset, which is never used, and only makes reading the code harder.
R=guoweis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8965}
2015-04-10 00:45:10 +00:00
f9bbbdd158 Roll chromium_revision d8f8dc8..70a0480 (324211:324430)
Relevant changes:
* src/third_party/boringssl/src: 40acdae..ef4962f
* src/third_party/libvpx: 861f35b..1fff3e3
Details: d8f8dc8..70a0480/DEPS

Clang version was not updated in this roll.

TBR=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8964}
2015-04-09 17:53:01 +00:00
d417c93c10 Remove android_webview_build conditions.
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}
2015-04-09 15:36:13 +00:00
9504b89ce2 Cleanup: Remove unnecessary SHA1Transform() declaration.
Nobody needs to see or call it before it is implemented down below.

BUG=None
TEST=rtc_unittests --gtest_filter=Sha1DigestTest.*
R=pthatcher@webrtc.org, tommi@webrtc.org

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

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8962}
2015-04-09 13:48:00 +00:00
3a93986fd5 Exit after printing usage message.
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}
2015-04-09 13:45:17 +00:00
7f6c4d42a2 Fix clang style warnings in webrtc/modules/audio_coding/neteq
Mostly this consists of marking functions with override when
applicable, and moving function bodies from .h to .cc files.

BUG=163
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8960}
2015-04-09 13:44:23 +00:00
411777584c Roll chromium_revision 5333e14..d8f8dc8 (323410:324211)
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}
2015-04-09 13:36:33 +00:00
76c53d36bc Remove ViE interface usage from VideoReceiveStream.
References channels and underlying objects directly instead of using
interfaces referenced with channel id. Channel creation is still done as
before for now.

BUG=1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8958}
2015-04-09 12:35:46 +00:00
15cf019a00 Add field-trial flag to disable WebRtcVideoEngine2.
BUG=chromium:475164
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8957}
2015-04-09 11:55:47 +00:00
Per
9b3f56ea05 Reland "Remove usage of webrtc::NativeHandle since is just adds an extra level of indirection.""
This reverts commit e41d774c4d0a60066866fc2d0ae48dd0e839ff23.

Original code review: https://webrtc-codereview.appspot.com/43999004/
Reason for reland: There was nothing wrong with this cl as is, but it breaks chrome compatibility. We will now reland this and fix Chrome during roll.

Patset 1: Original cl.
Patchset 2: Removed more code that is no longer needed.

R=magjed@webrtc.org, pbos@webrtc.org
TBR=mflodman@webrtc.org

BUG=1128

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

Cr-Commit-Position: refs/heads/master@{#8956}
2015-04-09 11:44:19 +00:00
2c37078e40 Fix crash with CVO turned on for VP9 codec
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}
2015-04-08 20:00:15 +00:00
d61ebda941 Fix the sigslot type of DtlsIdentityStore::WorkerTask.
BUG=4516
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8954}
2015-04-08 19:34:54 +00:00
036b420db6 Updated iOS video capturer to take device orientation into consideration.
BUG=4122
R=tkchin@webrtc.org

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

Patch from Jonas Martinsson <jonas.d.martinsson@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#8953}
2015-04-08 18:12:48 +00:00
1064679bba Revert "Fix crash with CVO turned on for VP9 codec"
This reverts commit 29b1a1c0c7c6f4b1ae4d63844b1dfaa7a72530a0.

TBR=guoweis@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8952}
2015-04-08 17:05:38 +00:00