1637 Commits

Author SHA1 Message Date
Magnus Jedvert
7764973e1d Add magjed@ as owner for talk/app/webrtc/androidtests/ and talk/app/webrtc/java/jni/
magjed@ has done a lot of work in these folders.

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1314123004 .

Cr-Commit-Position: refs/heads/master@{#9896}
2015-09-08 15:13:45 +00:00
stefan
68786d2040 Wire up PacketTime to ReceiveStreams.
BUG=webrtc:4758

Review URL: https://codereview.webrtc.org/1333483002

Cr-Commit-Position: refs/heads/master@{#9892}
2015-09-08 12:36:23 +00:00
solenberg
e526974759 Make LoadObserver settable per video send stream. Gives client flexibility and makes the implementation slightly simpler. See discussion in: https://codereview.webrtc.org/1269863005/
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1325263002

Cr-Commit-Position: refs/heads/master@{#9891}
2015-09-08 12:13:25 +00:00
Henrik Boström
f3ecdb981c Replacing SSLIdentity* with scoped_refptr<RTCCertificate> in TransportChannel layer.
BUG=webrtc:4927
R=tommi@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1304043008 .

Cr-Commit-Position: refs/heads/master@{#9885}
2015-09-08 10:12:07 +00:00
solenberg
8006f07592 Remove unused TypingMonitor class.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1327033002

Cr-Commit-Position: refs/heads/master@{#9884}
2015-09-08 09:57:05 +00:00
solenberg
e9ad18b6e1 Remove obsolete soundclip.cc/.h files.
BUG=

Review URL: https://codereview.webrtc.org/1305033003

Cr-Commit-Position: refs/heads/master@{#9879}
2015-09-08 07:45:00 +00:00
Åsa Persson
1c7d48d431 Let max default bitrate depend on resolution when configuring one video stream (was previously always 2Mbps).
Is now set to:
<= 320x240: 600kbps
<= 640x480: 1.7Mbps
<= 960x540: 2Mbps
>  960x540: 2.5Mbps

For QVGA and VGA, the qp was around 10 at the selected thresholds when running some tests. The change in qp declined above the selected bitrates.

BUG=
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1297373003 .

Cr-Commit-Position: refs/heads/master@{#9878}
2015-09-08 07:21:55 +00:00
henrika
86d907cffd Refactor the AudioDevice for iOS and improve the performance and stability
This CL contains major modifications of the audio output parts for WebRTC on iOS:
- general code cleanup
- improves thread handling (added thread checks, remove critical section, atomic ops etc.)
- reduces loopback latency of iPhone 6 from ~90ms to ~60ms ;-)
- improves selection of audio parameters on iOS
- reduces complexity by removing complex and redundant delay estimates
- now instead uses fixed delay estimates if for some reason the SW EAC must be used
- adds AudioFineBuffer to compensate for differences in native output buffer size and
  the 10ms size used by WebRTC. Same class as is used today on Android and we have unit tests for
  this class (the old code was buggy and we have several issue reports of crashes related to it)

Similar improvements will be done for the recording sid as well in a separate CL.
I will also add support for 48kHz in an upcoming CL since that will improve Opus performance.

BUG=webrtc:4796,webrtc:4817,webrtc:4954, webrtc:4212
TEST=AppRTC demo and iOS modules_unittests using --gtest_filter=AudioDevice*
R=pbos@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1254883002 .

Cr-Commit-Position: refs/heads/master@{#9875}
2015-09-07 14:10:10 +00:00
solenberg
7b38f69370 Add placeholder files for talk/app/webrtc/mediacontroller.cc/.h to be able to update Chrome's libjingle.gyp before the MediaController implementation CL is submitted.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1308543007

Cr-Commit-Position: refs/heads/master@{#9872}
2015-09-07 11:38:42 +00:00
solenberg
bb741b3afa Remove GetOutputScaling from VoiceMediaChannel.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1331443003

Cr-Commit-Position: refs/heads/master@{#9870}
2015-09-07 10:56:45 +00:00
phoglund
0ab8ca8365 Remove x11 from libjingle_media
This generates incorrect -lX11 with use_x11=0 in our other build system,
which causes the standalone libjingle_media target to not build.
This patch should fix that. I could remove -lX11 completely, and
libjingle still links fine. So does Chrome if I do the corresponding
change there, so I think this change is safe to make.

BUG=None

Review URL: https://codereview.webrtc.org/1306243013

Cr-Commit-Position: refs/heads/master@{#9869}
2015-09-07 08:14:38 +00:00
deadbeef
9eb1365939 Revert of purge nss files and dependencies (patchset #1 id:1 of https://codereview.webrtc.org/1313233005/ )
Reason for revert:
It looks like this broke the FYI bots. I tried updating libjingle_nacl.gyp, but the IOS build still failed because in Chrome it's configured to use NSS. See https://codereview.chromium.org/1316863012/.

Original issue's description:
> purge nss files and dependencies
>
> BUG=webrtc:4497
>
> Committed: https://crrev.com/5647a2cf3db888195c928a1259d98f72f6ecbc15
> Cr-Commit-Position: refs/heads/master@{#9862}

TBR=tommi@webrtc.org,kjellander@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4497

Review URL: https://codereview.webrtc.org/1311843006

Cr-Commit-Position: refs/heads/master@{#9867}
2015-09-05 11:39:24 +00:00
Guo-wei Shieh
3cc834ae86 Add more IceCandidatePairType for host-host CandidatePair
This is to help to differentiate endpoints which are behind NAT or on the public internet.

BUG=520101
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1328453003 .

Cr-Commit-Position: refs/heads/master@{#9864}
2015-09-04 23:00:20 +00:00
torbjorng
5647a2cf3d purge nss files and dependencies
BUG=webrtc:4497

Review URL: https://codereview.webrtc.org/1313233005

Cr-Commit-Position: refs/heads/master@{#9862}
2015-09-04 15:12:00 +00:00
Magnus Jedvert
e7a0de773a CameraEnumerationAndroid: Add getSupportedFormats() implementation using android.hardware.camera2
Enumerating using android.hardware.camera2 is 10x faster than enumerating using android.hardware.camera, but they don't list exactly the same formats. android.hardware.camera2 support higher resolutions for some cameras, and also different framerates.

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1321893003 .

Cr-Commit-Position: refs/heads/master@{#9861}
2015-09-04 13:13:39 +00:00
sophiechang
47d78cc8ad Pass the encoder's internal source property through to video_sender to request a keyframe from the external encoder
BUG=

Review URL: https://codereview.webrtc.org/1263663005

Cr-Commit-Position: refs/heads/master@{#9853}
2015-09-04 01:24:53 +00:00
Guo-wei Shieh
dfbe679ded Cleanup: Remove duplicated functions
IncrementCounter has been replaced by IncrementEnumCounter. Since the code has been rolled into Chromium, time to clean this up.

R=pthatcher@chromium.org
TBR=pthatcher@webrtc.org

BUG=

Review URL: https://codereview.webrtc.org/1312763013 .

Cr-Commit-Position: refs/heads/master@{#9852}
2015-09-04 00:12:13 +00:00
stefan
658910cc3c Revert "Speculative revert of "- Move test cases for more natural ordering.""
Did not resolve the build bot issue.

This reverts commit 02d283a6ff5364d94aa88f5f5df4cfd3a5411346.

BUG=
TBR=solenberg@webrtc.org

Review URL: https://codereview.webrtc.org/1324123002

Cr-Commit-Position: refs/heads/master@{#9849}
2015-09-03 12:48:36 +00:00
Magnus Jedvert
7afc12fe91 VideoRendererGui: Move to async rendering and remove no longer needed code
BUG=webrtc:4742, webrtc:4909
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1321853003 .

Cr-Commit-Position: refs/heads/master@{#9847}
2015-09-03 10:40:50 +00:00
Magnus Jedvert
1a591ddc7e Android GlUtil: Add helper functions generateTexture/deleteTexture
The purpose with this CL is to remove some code bloat. A subtle change is that GL_TEXTURE_MIN_FILTER in MediaCodecVideoDecoder is changed from GL_NEAREST to GL_LINEAR. This may lead to slightly worse performance when the decoded video is rendered minified, but with better visual quality. After reading https://crbug.com/351458 and the fix https://codereview.chromium.org/713603002 I think this is the right choice.

BUG=webrtc:4742
R=hbos@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1303373005 .

Cr-Commit-Position: refs/heads/master@{#9845}
2015-09-02 12:43:18 +00:00
Magnus Jedvert
ed4224fbda Android GlRectDrawer: Add fragment shader for RGB(A) textures
Add third shader type for RGB(A) and refactor according to the Rule of three.

BUG=webrtc:4742
R=hbos@webrtc.org

Review URL: https://codereview.webrtc.org/1311093005 .

Cr-Commit-Position: refs/heads/master@{#9843}
2015-09-02 10:52:10 +00:00
Jiayang Liu
e63d2a1c62 Add JNI/java wrapper for the file rotating logging class.
BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1309073004 .

Cr-Commit-Position: refs/heads/master@{#9840}
2015-09-01 23:11:28 +00:00
Alex Glaznev
4d2f4d1c69 - Make shared EGL context used for HW video decoding member
of decoder factory class.
- Add new Peer connection factory method to initialize shared
EGL context.

This provides an option to use single peer connection factory
in the application and create peer connections from the same
factory and reinitialize shared EGL context for video
decoding HW acceleration.

R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1304063011 .

Cr-Commit-Position: refs/heads/master@{#9838}
2015-09-01 22:04:21 +00:00
glaznev
97579a4e12 Add option to enable ECDSA key for Java API.
Review URL: https://codereview.webrtc.org/1312293003

Cr-Commit-Position: refs/heads/master@{#9835}
2015-09-01 18:31:34 +00:00
magjed
eebc0996bf Add magjed@ as owner for talk/app/webrtc/java/android/org/webrtc/
magjed@ has done a lot of work in this folder.

Review URL: https://codereview.webrtc.org/1322133002

Cr-Commit-Position: refs/heads/master@{#9834}
2015-09-01 18:09:28 +00:00
Alex Glaznev
194cceadae Do not use HW H.264 encoder on Nexus 7.
H.264 HW encoder on some Nexus 7 models have
poor bitrate control.

R=jiayl@webrtc.org

Review URL: https://codereview.webrtc.org/1311893009 .

Cr-Commit-Position: refs/heads/master@{#9833}
2015-09-01 17:36:49 +00:00
honghaiz
4edc39c569 Set the IceConnectionReceivingTimeout as a RTCConfiguration parameter.
BUG= 4901

Review URL: https://codereview.webrtc.org/1315503003

Cr-Commit-Position: refs/heads/master@{#9832}
2015-09-01 16:54:02 +00:00
Stefan Holmer
02d283a6ff Speculative revert of "- Move test cases for more natural ordering."
This reverts commit c20a5dc9305b988ca173cd63e606124b02e6d54c.

BUG=webrtc:4959
R=solenberg@webrtc.org
TBR=solenberg@webrtc.org

Review URL: https://codereview.webrtc.org/1309313008 .

Cr-Commit-Position: refs/heads/master@{#9829}
2015-09-01 13:48:31 +00:00
Magnus Jedvert
c252dabbd6 CameraEnumerationAndroid: Make getSupportedFormats() an interface
Enumerating camera capabilities in the deprecated android.hardware.Camera interface is really slow because of the need to open and release the camera. By making getSupportedFormats() an interface, we allow apps the opportunity to inject their own implementation, such as storing the supported formats offline in the device's internal storage. It will also be possible to add an implementation of getSupportedFormats() using the new android.hardware.Camera2 interface in a follow-up CL.

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1321903002 .

Cr-Commit-Position: refs/heads/master@{#9819}
2015-08-31 11:19:20 +00:00
Fredrik Solenberg
c20a5dc930 - Move test cases for more natural ordering.
- Get rid of the CoInitialize tests for WVoE/WViE.

BUG=webrtc:4690
R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1319163002 .

Cr-Commit-Position: refs/heads/master@{#9817}
2015-08-31 09:14:05 +00:00
Henrik Boström
3a14bf311f Replacing SSLIdentity* with scoped_refptr<RTCCertificate> in the cricket::TransportDescriptionFactory layers.
Updates TransportDescriptionFactory, calls and unittests.

BUG=webrtc:4927
R=tommi@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1311903004 .

Cr-Commit-Position: refs/heads/master@{#9815}
2015-08-31 07:28:13 +00:00
Magnus Jedvert
a6cba3ab5c Java VideoRenderer.Callbacks: Make renderFrame() interface asynchronous
This CL makes the Java render interface asynchronous by requiring every call to renderFrame() to be followed by an explicit renderFrameDone() call. In JNI, this is implemented with cricket::VideoFrame::Copy() before calling renderFrame(), and a corresponding call to delete in renderFrameDone(). This CL is primarily done to prepare for a new renderer implementation.

BUG=webrtc:4742, webrtc:4909
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1313563002 .

Cr-Commit-Position: refs/heads/master@{#9814}
2015-08-29 13:57:56 +00:00
Lally Singh
e8386d2199 Added send-thresholding and fixed text packet dumping. Also a little squelch for the over-max-MTU log spam we see in there.
BUG=https://code.google.com/p/webrtc/issues/detail?id=4468
R=pthatcher@chromium.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1304063006 .

Cr-Commit-Position: refs/heads/master@{#9812}
2015-08-28 18:54:45 +00:00
Alex Glaznev
79de90b110 Do not explicitly delete OpenGL shaders in VideoRendererGui.
This is handled by Android itself and may result in GL errors
when trying to release shaders when Activity is destroyed.

R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1322703004 .

Cr-Commit-Position: refs/heads/master@{#9811}
2015-08-28 18:47:46 +00:00
pbos
f42376c601 Wire up currently-received video codec to stats.
BUG=webrtc:1844, webrtc:4808
R=mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1315413002

Cr-Commit-Position: refs/heads/master@{#9810}
2015-08-28 14:35:40 +00:00
magjed
6813ec84fb VideoCapturerAndroid: Move to android folder and split out camera enumeration into separate file
Pure code move of:
talk/app/webrtc/java/src/org/webrtc/VideoCapturerAndroid.java
into:
talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java
talk/app/webrtc/java/android/org/webrtc/CameraEnumerationAndroid.java

NOPRESUBMIT=true

Review URL: https://codereview.webrtc.org/1323453002

Cr-Commit-Position: refs/heads/master@{#9809}
2015-08-28 12:22:27 +00:00
solenberg
4fbae2b791 Add send transports to individual webrtc::Call streams.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1273363005

Cr-Commit-Position: refs/heads/master@{#9807}
2015-08-28 11:07:15 +00:00
phoglund
6480d03f17 Make jni_helpers build on arm32.
BUG=None

Review URL: https://codereview.webrtc.org/1311753002

Cr-Commit-Position: refs/heads/master@{#9806}
2015-08-28 09:58:45 +00:00
Magnus Jedvert
6ec1f921b1 AndroidVideoCapturer: Delegate framerate choice to VideoCapturerAndroid.java
webrtc::VideoSource resolves the kMaxFrameRate constraint by capping the desired framerate to kMaxFrameRate. That framerate is then passed into cricket::VideoCapturer::GetBestCaptureFormat(). The default implementation will choose a format from the supported formats list. Instead, we should override this function in AndroidVideoCapturer to give VideoCapturerAndroid.java the opportunity to choose a suitable framerate range.

BUG=webrtc:4938
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1308953004 .

Cr-Commit-Position: refs/heads/master@{#9805}
2015-08-28 09:41:06 +00:00
Magnus Jedvert
1c3dd38cb8 Android: Fix memory leak for remote MediaStream
BUG=webrtc:4892
R=glaznev@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1308733004 .

Cr-Commit-Position: refs/heads/master@{#9797}
2015-08-27 11:40:09 +00:00
tommi
7391881f97 Revert of Added send-thresholding and fixed text packet dumping. (patchset #4 id:160001 of https://codereview.webrtc.org/1266033005/ )
Reason for revert:
The CL adds a global variable.

Original issue's description:
> Added send-thresholding and fixed text packet dumping.  Also a little squelch for the over-max-MTU log spam we see in there.
>
> BUG=https://code.google.com/p/webrtc/issues/detail?id=4468
> R=pthatcher@chromium.org, pthatcher@webrtc.org
>
> Committed: d838d27919

TBR=pthatcher@webrtc.org,bemasc@webrtc.org,pthatcher@chromium.org,thakis@chromium.org,lally@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=https://code.google.com/p/webrtc/issues/detail?id=4468

Review URL: https://codereview.webrtc.org/1315923003

Cr-Commit-Position: refs/heads/master@{#9796}
2015-08-27 11:30:04 +00:00
noahric
fdac516510 Disallow simulcast for H.264.
BUG=

Review URL: https://codereview.webrtc.org/1291673006

Cr-Commit-Position: refs/heads/master@{#9795}
2015-08-27 08:59:32 +00:00
Henrik Boström
d82819892a Replaces SSLIdentity* with scoped_refptr<RTCCertificate> in the cricket::Transport layer.
Why the replacements? Mainly two reasons:
1) RTCCertificate owns the identity and as long as things are referencing the identity there should be a scoped_refptr reference to the RTCCertificate. Handing out raw pointers is less memory safe.
2) With the latest RFC, an RTCCertificate should be sufficient for specifying a crypto cert and the code should be updated to use RTCCertificate instead of SSLIdentity directly.

This replace work is split up into multiple CLs. In this CL...
- WebRtcSessionDescriptionFactory is updated to use RTCCertificate over SSLIdentity.
- WebRtcSessionDescriptionFactory::SignalCertificateReady is connected to WebRtcSession::OnCertificateReady and WebRtcSession is updated to use RTCCertificate.
- The cricket::Transport and related classes are updated to use RTCCertificate. These are called from WebRtcSession::OnCertificateReady.

BUG=webrtc:4927
R=tommi@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1312643004 .

Cr-Commit-Position: refs/heads/master@{#9794}
2015-08-27 08:12:37 +00:00
Alex Glaznev
c47a01d647 Fix AppRTCDemo crash when room is connected after PC is destroyed.
Also move VideoRendererGui.dispose() to the section with public API.

BUG=4909
R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1312523004 .

Cr-Commit-Position: refs/heads/master@{#9792}
2015-08-26 23:02:29 +00:00
Lally Singh
d838d27919 Added send-thresholding and fixed text packet dumping. Also a little squelch for the over-max-MTU log spam we see in there.
BUG=https://code.google.com/p/webrtc/issues/detail?id=4468
R=pthatcher@chromium.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1266033005 .

Cr-Commit-Position: refs/heads/master@{#9788}
2015-08-26 17:15:29 +00:00
Magnus Jedvert
3318f984cd VideoFrameBuffer: Make non-const data access explicit
VideoFrameBuffer currently has two overloaded data() functions for pixel access, one for const and one for non-const. Unfortunately, it will default to the non-const version, even when 'const scoped_refptr<VideoFrameBuffer>&' is used. This is a problem, because many subclasses use RTC_NOTREACHED() in the non-const version.

This CL makes the non-const version of data() explicit with a different, longer function name MutableData().

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1304143003 .

Cr-Commit-Position: refs/heads/master@{#9787}
2015-08-26 14:06:30 +00:00
Noah Richards
85ad62b877 Remove per-frame captured frame logging.
It's a little too verbose :)

BUG=
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1302173004 .

Cr-Commit-Position: refs/heads/master@{#9786}
2015-08-26 13:22:47 +00:00
Fredrik Solenberg
af9fb21886 - Use C++11 loops in WebRtcVoiceMediaEngine/Channel.
- Pull out part of WebRtcVoiceMediaChannel::SetRecvCodecs() into WebRtcVoiceMediaChannel::SetRecvCodecsInternal().

BUG=webrtc:4690
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1291343002 .

Cr-Commit-Position: refs/heads/master@{#9785}
2015-08-26 08:46:05 +00:00
Magnus Jedvert
c464f504dc AndroidVideoCapturerJni: Fix threading issues
The primary fix in this CL is to remove the dangling |thread_| pointer in AndroidVideoCapturerJni. That thread is not safe to use after Stop() has been called. Even after Stop() has been called, we must still be able to return late frames to Java in order to not leak them, so that path has been made thread safe instead. To make sure that we always return frames, the Java frame should be wrapped in a scoped_refptr as quickly as possible, so this CL moves the wrapping from AndroidVideoCapturer to AndroidVideoCapturerJni. This also removes the need for the interface function AndroidVideoCapturerDelegate::ReturnBuffer().

Some other minor changes are:
 * Remove |valid_global_refs_| and all logic related to that. Now that rtc::Bind() captures method objects as scoped_refptr, the destructor of AndroidVideoCapturerJni will not be called before all frames are returned.
 * Remove global ref |j_frame_observer_|. No need for this, we don’t call it and it is kept alive with standard Java memory management.
 * Add helper function ShallowCenterCrop() for VideoFrameBuffers. This functionality already exists in the constructor of WrappedI420Buffer, but it’s more convenient to have it as a separate function.

BUG=webrtc:4742,webrtc:4909
R=glaznev@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1307973002 .

Cr-Commit-Position: refs/heads/master@{#9784}
2015-08-25 21:22:24 +00:00
Magnus Jedvert
c464b409be Android RendererCommon: Add unittests for getTextureMatrix()
BUG=webrtc:4742
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1315843002 .

Cr-Commit-Position: refs/heads/master@{#9783}
2015-08-25 18:05:20 +00:00