1091 Commits

Author SHA1 Message Date
Magnus Jedvert
91b348c702 Android MediaCodecVideoDecoder: Manage lifetime of texture frames
This CL should be the last one in a series to finally unblock camera texture capture.

The SurfaceTexture.updateTexImage() calls are moved from the video renderers into MediaCodecVideoDecoder, and the destructor of the texture frames will signal MediaCodecVideoDecoder that the frame has returned. This CL also removes the SurfaceTexture from the native handle and only exposes the texture matrix instead, because only the video source should access the SurfaceTexture.

BUG=webrtc:4993
R=glaznev@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10203}
2015-10-07 20:57:17 +00:00
Peter Boström
0c4e06b4c6 Use suffixed {uint,int}{8,16,32,64}_t types.
Removes the use of uint8, etc. in favor of uint8_t.

BUG=webrtc:5024
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10196}
2015-10-07 10:23:32 +00:00
deadbeef
4139c0f1c5 Java binding for RtpSender/RtpReceiver.
The Java PeerConnection maintains a cached list of Java RtpSenders
and RtpReceivers so that the same objects are returned every time
getSenders() or getReceivers() is called. They are disposed of when
PeerConnection.dispose() is called, which will also dispose their
referenced MediaStreamTracks.

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

Cr-Commit-Position: refs/heads/master@{#10189}
2015-10-06 19:29:32 +00:00
deadbeef
0a6c4ca942 Catching more errors when parsing ICE server URLs.
Every malformed URL should now produce an error message in JS, rather than
silently failing and possibly printing a warning message to the console (and
possibly crashing).

Also added some unit tests, and made "ParseIceServers" public.

BUG=445002

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

Cr-Commit-Position: refs/heads/master@{#10186}
2015-10-06 18:38:33 +00:00
Alex Glaznev
09f1350efa Add option to reset Android video renderer first frame flag.
This allows to correctly report first frame event in applications which
use same remote video renderer for multiple calls.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10176}
2015-10-05 20:01:41 +00:00
Guo-wei Shieh
6caafbe5b6 Convert uint16_t to int for WebRTC cipher/crypto suite.
This is a follow up CL on https://codereview.webrtc.org/1337673002

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10175}
2015-10-05 19:43:33 +00:00
perkj
1b33da1298 SurfaceTextureHelper fixes
Fixed a problem where eglBase.makecurrent() could be called after the context had been released if SurfaceTextureHelper was first created and immedately disconnected.

Add the possibility to inject a thread to use instead of creating a new.

BUG= webrtc:4993
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10174}
2015-10-05 19:06:48 +00:00
perkj
418503275c Add ThreadChecker class to ThreadUtils
This class can be used for checking that method calls are made on the correct thread.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10173}
2015-10-05 18:49:15 +00:00
perkj
e0bce24065 VideoCapturerAndroid: Add custom nativeCreateVideoCapturer()
This CL shouldn't make any functional changes. It adds a new VideoCapturerAndroid.nativeCreateVideoCapturer() instead of always using VideoCapturer.nativeCreateVideoCapturer(). The purpose is to simplify androidvideocapturer_jni and VideoCapturerAndroid.create(). This way, it is possible to use the ctor instead of VideoCapturerAndroid.init() to initialize variables, and they can be made final etc.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10171}
2015-10-05 14:22:06 +00:00
Magnus Jedvert
bc0938e8e7 Android VideoRendererGui: Make deep copy of incoming texture frames
VideoRendererGui may need to render incoming frames multiple times. We currently call VideoRenderer.renderFrameDone() while we still hold references to the OES texture. This CL makes a deep copy of the OES texture before calling renderFrameDone(). This will truly release the dependency to the incoming frame, so that video textures sources can rely on the renderFrameDone() callback.

This CL is a part of the plan in https://codereview.webrtc.org/1357923002/.

The texture copy doesn't cause any measurable performance difference on a Nexus 5 using VideoRendererGui in a AppRTCDemo loopback call.

BUG=webrtc:4993
TEST=Revert "Enable SurfaceViewRenderer for AppRTCDemo" https://codereview.webrtc.org/1356603004/ and try AppRTCDemo.
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10157}
2015-10-03 15:30:12 +00:00
magjed
44bf6f5f67 Android MediaCodecVideoDecoder: Split DecoderOutputBufferInfo into DecodedByteBuffer and DecodedTextureBuffer
This CL separates the types and code paths for textures vs byte buffers in MediaCodecVideoDecoder.dequeueOutputBuffer() and MediaCodecVideoDecoder::DeliverPendingOutputs(). The purpose is to prepare for lifetime management of textures received from the SurfaceTexture.

This CL is a part of the plan in https://codereview.webrtc.org/1357923002/.

BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10156}
2015-10-03 09:08:06 +00:00
Magnus Jedvert
7e319372ab Android MediaCodecVideoDecoder: Cleanup to prepare for texture liftime management
This CL should not change the behaviour of the decoder. The purpose is to prepare for lifetime management of textures received from the SurfaceTexture. The main change is to only use exceptions for error signaling in MediaCodecVideoDecoder.dequeueOutputBuffer() and MediaCodecVideoDecoder.releaseOutputBuffer(), not both exceptions and error return values.

BUG=webrtc:4993
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10148}
2015-10-02 13:49:48 +00:00
Magnus Jedvert
6781ea49a8 jni/native_handle_impl.h: Move implementation into .cc file
BUG=webrtc:4993
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10147}
2015-10-02 11:56:13 +00:00
magjed
b09b660c53 Remove cricket::VideoFrame::Set/GetElapsedTime()
This CL is a baby step towards consolidating the timestamps in cricket::VideoFrame and webrtc::VideoFrame, so that we can unify the frame classes in the future.

The elapsed time functionality is not really used. If a video sink wants to know the elapsed time since the first frame they can store the first timestamp themselves and calculate the time delta to later frames. This is already done in all video sinks that need the elapsed time. Having redundant timestamps in the frame classes is confusing and error prone.

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10131}
2015-10-01 10:03:05 +00:00
solenberg
dfc8f4ff87 Change 'mute' parameter of MediaChannel::SetAudioSend()/SetVideoSend() to 'enable'.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10130}
2015-10-01 09:32:41 +00:00
dchakarov.broadsoft
0ecf1b2f21 Android focus problem on rear camera.
On some devices (confirmed Samsung) the focus mode is not configured correctly by default.
The fix explicitly set the focus mode to FOCUS_MODE_CONTINUOUS_VIDEO if this mode is supported.

BUG=webrtc:4991

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

Cr-Commit-Position: refs/heads/master@{#10128}
2015-10-01 07:25:53 +00:00
Guo-wei Shieh
456696a9c1 Reland Change WebRTC SslCipher to be exposed as number only
This is to revert the change of https://codereview.webrtc.org/1380603005/

TBR=pthatcher@webrtc.org
BUG=523033

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

Cr-Commit-Position: refs/heads/master@{#10126}
2015-10-01 04:49:02 +00:00
guoweis
27dc29b0df Revert of Change WebRTC SslCipher to be exposed as number only. (patchset #20 id:750001 of https://codereview.webrtc.org/1337673002/ )
Reason for revert:
This broke chromium.fyi bot.

Original issue's description:
> Change WebRTC SslCipher to be exposed as number only.
>
> This makes the SSL exposed as uint16_t which is the IANA value. GetRfcSslCipherName is introduced to handle the conversion to names from ID. IANA value will be used for UMA reporting. Names will still be used for WebRTC stats reporting.
>
> For SRTP, currently it's still string internally but is reported as IANA number.
>
> This is used by the ongoing CL https://codereview.chromium.org/1335023002.
>
> BUG=523033
>
> Committed: https://crrev.com/4fe3c9a77386598db9abd1f0d6983aefee9cc943
> Cr-Commit-Position: refs/heads/master@{#10124}

TBR=juberti@webrtc.org,rsleevi@chromium.org,pthatcher@webrtc.org,davidben@chromium.org,juberti@google.com,davidben@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=523033

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

Cr-Commit-Position: refs/heads/master@{#10125}
2015-10-01 02:23:15 +00:00
guoweis
4fe3c9a773 Change WebRTC SslCipher to be exposed as number only.
This makes the SSL exposed as uint16_t which is the IANA value. GetRfcSslCipherName is introduced to handle the conversion to names from ID. IANA value will be used for UMA reporting. Names will still be used for WebRTC stats reporting.

For SRTP, currently it's still string internally but is reported as IANA number.

This is used by the ongoing CL https://codereview.chromium.org/1335023002.

BUG=523033

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

Cr-Commit-Position: refs/heads/master@{#10124}
2015-10-01 01:49:17 +00:00
tkchin
2f8a4cad16 Add OWNERS for ObjC dirs.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10123}
2015-10-01 00:33:36 +00:00
Magnus Jedvert
27551c9574 Android RendererCommon: Refactor getSamplingMatrix()
This CL refactors RendererCommon.getSamplingMatrix() so it does not have any dependecy to SurfaceTeture. The purpose is to prepare for a change in how texture frames are represented - only the texture matrix will be exposed, not the SurfaceTexture itself. This CL also adds an extra test for RendererCommon.rotateTextureMatrix().

R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10118}
2015-09-30 16:25:22 +00:00
Magnus Jedvert
bbda54e6fa Android MediaDecoder: Use frame pool to avoid allocations for non-surface decoding
BUG=webrtc:4993

TEST=To test non-surface path, set 'use_surface_ = false' in androidmediadecoder_jni.cc.
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10116}
2015-09-30 14:06:56 +00:00
deadbeef
a67696b3cd Reland of Adding PeerConnectionInterface::SetConfiguration method. (patchset #1 id:1 of https://codereview.webrtc.org/1361263002/ )
Reason for revert:
Relanding with SetConfiguration not pure virtual.

Original issue's description:
> Revert of Adding PeerConnectionInterface::SetConfiguration method. (patchset #4 id:60001 of https://codereview.webrtc.org/1317353005/ )
>
> Reason for revert:
> Broke FYI bots because SetConfiguration is pure virtual and MockPeerConnectionImpl doesn't implement it. Need to reland with SetConfiguration not pure virtual.
>
> Original issue's description:
> > Adding PeerConnectionInterface::SetConfiguration method.
> >
> > Also updated the JNI and Objective-C bindings. Later, will have a CL to
> > remove UpdateIce, which this method effectively replaces.
> >
> > BUG=webrtc:4945
> >
> > Committed: https://crrev.com/70702afbcb8418fe93747e7ed63bcbf5e56b90e9
> > Cr-Commit-Position: refs/heads/master@{#10040}
>
> TBR=guoweis@webrtc.org,pthatcher@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4945
>
> Committed: https://crrev.com/7603c76ab077b1e2033bb179595129bd96797345
> Cr-Commit-Position: refs/heads/master@{#10041}

TBR=guoweis@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4945

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

Cr-Commit-Position: refs/heads/master@{#10112}
2015-09-29 18:56:30 +00:00
Magnus Jedvert
24b52f8322 Android GlRectDrawer: Add test for OES texture rendering
BUG=webrtc:4742
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10109}
2015-09-29 14:40:11 +00:00
Magnus Jedvert
1d640e53bd JavaVideoRendererWrapper: Use jlongFromPointer() to convert frame pointer to jlong
The purpose of this CL is to use jlongFromPointer() for converting frame pointers to jlong instead of implicit casts which is not safe.

In order to respect constness, I had to make a small helper function for this.

BUG=webrtc:4993
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10108}
2015-09-29 14:33:27 +00:00
magjed
b5815c8013 Revert of Android VideoCapturer: Send ByteBuffer instead of byte[] (patchset #1 id:1 of https://codereview.webrtc.org/1372813002/ )
Reason for revert:
The top row in the video stream from the camera is messed up. The byte[] pointer is not the same as GetDirectBufferAddress() apparently.

Original issue's description:
> Android VideoCapturer: Send ByteBuffer instead of byte[]
>
> The purpose with this CL is to replace GetByteArrayElements() and ReleaseByteArrayElements() with GetDirectBufferAddress().
>
> R=hbos@webrtc.org
>
> Committed: https://crrev.com/cb3649b40b3fd6d5bbb0a92003b717e46ce90924
> Cr-Commit-Position: refs/heads/master@{#10091}

TBR=hbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10103}
2015-09-29 08:13:47 +00:00
deadbeef
70ab1a1ca8 Exposing RtpSenders and RtpReceivers from PeerConnection.
This CL essentially converts [Local|Remote]TrackHandler to
Rtp[Sender|Receiver], and adds a "SetTrack" method for RtpSender.

It also gets rid of MediaStreamHandler and MediaStreamHandlerContainer,
since these classes weren't really anything more than containers.
PeerConnection now manages the RtpSenders and RtpReceivers directly.

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

Cr-Commit-Position: refs/heads/master@{#10100}
2015-09-28 23:54:02 +00:00
Magnus Jedvert
8e9cb09506 Android: Add unittests for SurfaceTextureHelper
BUG=webrtc:4993
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10099}
2015-09-28 21:15:23 +00:00
deadbeef
4fa648be68 Adding 20-second timeout to Java and Objective-C tests.
This is the same sort of thing we do in C++ end-to-end PeerConnection
tests.

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

Cr-Commit-Position: refs/heads/master@{#10098}
2015-09-28 21:09:00 +00:00
honghaiz
1f429e3418 Passing the new policy from PeerConnection RTCConfiguration to
p2ptransportchannel.  This CL does not use the new policy yet.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10092}
2015-09-28 14:57:39 +00:00
Magnus Jedvert
cb3649b40b Android VideoCapturer: Send ByteBuffer instead of byte[]
The purpose with this CL is to replace GetByteArrayElements() and ReleaseByteArrayElements() with GetDirectBufferAddress().

R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10091}
2015-09-28 14:42:12 +00:00
Per
d2413e514a Fix the C++ SurfaceTextureHolder
This cl moves back loading java SurfaceTextureHolder to the ClassReferenceHolder and use FindClass through ClassReferenceHolder. Without this, jni->FindClass returns nullptr in surfacetexturehelper_jni.cc.

BUG=webrtc:4993
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10086}
2015-09-28 09:48:23 +00:00
Magnus Jedvert
1ab271c1c4 Android SurfaceTextureHelper: Don't wait for pending frames in disconnect()
This CL also makes some small non-functional changes in ThreadUtils and EglBase to support SurfaceTextures and SurfaceTextureHelper.

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

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

Cr-Commit-Position: refs/heads/master@{#10085}
2015-09-28 09:06:33 +00:00
Per
3e9eb4ba01 Add C++ SurfaceTextureHandler
This cl adds a C++ counterpart of the Java SurfaceTextureHandler. It can be used for creating a webrtc::VideoFrames from a native handle and also guarantee that the Java SurfaceTexture is notified when the VideoFrame is no longer in use.

BUG=webrtc:4993
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10084}
2015-09-28 08:52:36 +00:00
Peter Boström
1741770742 Implement a high-QP threshold for Android H.264.
Android hardware H.264 seems to keep a steady high-QP flow instead of
dropping frames, so framedrops aren't sufficient to detect a bad state
where downscaling would be beneficial.

BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10078}
2015-09-25 15:03:37 +00:00
christoffer
88799d9c1f RTCEAGLVideoView: Fix GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT error.
Fix an issue where using setNeedsDisplay on a GLKView which has a frame
with size zero will make GLKView/iOS output the following error:

  Failed to bind EAGLDrawable: <CAEAGLLayer: 0x1742282e0> to
    GL_RENDERBUFFER 1 Failed to make complete framebuffer object 8cd6

(The error code 8cd6 corresponds to
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT.)

GLKView will internally setup it's render buffer when the delegate is
about to draw into it. Previously when enableSetNeedsDisplay was set to
YES (default), then GLKView would still attempt to setup it's internal
buffer even if it's frame size is zero and that would cause
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT.

By using enableSetNeedsDisplay = NO, RTCEAGLVideoView can guard against
calling -[GLKView display] if it's current frame size is empty.

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

Cr-Commit-Position: refs/heads/master@{#10076}
2015-09-25 13:57:54 +00:00
Magnus Jedvert
495d2fdd65 Reland of "Android GlRectDrawer: Add test for RGB rendering"
Reland of https://codereview.webrtc.org/1367923002/.

The bug was that not all platforms support glReadPixels() with GL_RGB. This CL uses GL_RGBA instead.

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

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

Cr-Commit-Position: refs/heads/master@{#10070}
2015-09-25 08:55:42 +00:00
deadbeef
6979b024d7 Adding stub files for RtpSender/RtpReceiver.
This will allow Chromium's build files to be updated, so that when the
real RtpSender CL is submitted, it doesn't break the FYI bots.

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

Cr-Commit-Position: refs/heads/master@{#10065}
2015-09-24 23:47:59 +00:00
Magnus Jedvert
ea70d77fd5 VideoCapturerAndroid: Add test for making calls on stopped camera
BUG=webrtc:4978
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10062}
2015-09-24 19:41:08 +00:00
magjed
5e9a1bc790 Revert of Android GlRectDrawer: Add test for RGB rendering (patchset #3 id:40001 of https://codereview.webrtc.org/1367923002/ )
Reason for revert:
The test fails on Nexus 9.

Original issue's description:
> Android GlRectDrawer: Add test for RGB rendering
>
> BUG=webrtc:4742
> R=hbos@webrtc.org
>
> Committed: https://crrev.com/6b20ad99e04f594a9a131bea5d80940698e6e8fd
> Cr-Commit-Position: refs/heads/master@{#10050}

TBR=hbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4742

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

Cr-Commit-Position: refs/heads/master@{#10058}
2015-09-24 16:16:20 +00:00
Peter Boström
2bc68c731d Wire up QualityScaler for H.264 on Android.
BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10055}
2015-09-24 14:22:37 +00:00
Magnus Jedvert
6b20ad99e0 Android GlRectDrawer: Add test for RGB rendering
BUG=webrtc:4742
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10050}
2015-09-24 13:05:33 +00:00
Magnus Jedvert
2efe58b189 VideoCapturerAndroidTest: Dispose PeerConnectionFactory with pending frames
Partial revert of change in testReturnBufferLateEndToEnd from https://codereview.webrtc.org/1350863002/. It is ok to dispose PeerConnectionFactory with pending frames after all.

BUG=webrtc:4909
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10049}
2015-09-24 12:16:40 +00:00
solenberg
facbbecb51 Remove use of DeviceManager from ChannelManager.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10042}
2015-09-24 07:41:59 +00:00
deadbeef
7603c76ab0 Revert of Adding PeerConnectionInterface::SetConfiguration method. (patchset #4 id:60001 of https://codereview.webrtc.org/1317353005/ )
Reason for revert:
Broke FYI bots because SetConfiguration is pure virtual and MockPeerConnectionImpl doesn't implement it. Need to reland with SetConfiguration not pure virtual.

Original issue's description:
> Adding PeerConnectionInterface::SetConfiguration method.
>
> Also updated the JNI and Objective-C bindings. Later, will have a CL to
> remove UpdateIce, which this method effectively replaces.
>
> BUG=webrtc:4945
>
> Committed: https://crrev.com/70702afbcb8418fe93747e7ed63bcbf5e56b90e9
> Cr-Commit-Position: refs/heads/master@{#10040}

TBR=guoweis@webrtc.org,pthatcher@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4945

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

Cr-Commit-Position: refs/heads/master@{#10041}
2015-09-24 00:37:20 +00:00
deadbeef
70702afbcb Adding PeerConnectionInterface::SetConfiguration method.
Also updated the JNI and Objective-C bindings. Later, will have a CL to
remove UpdateIce, which this method effectively replaces.

BUG=webrtc:4945

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

Cr-Commit-Position: refs/heads/master@{#10040}
2015-09-23 23:32:38 +00:00
deadbeef
cbecd358e0 Reland of TransportController refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/1358413003/ )
Reason for revert:
This CL just landed: https://codereview.chromium.org/1323243006/

Which fixes the FYI bots for the original CL, and breaks them for this revert.

Original issue's description:
> Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
>
> Reason for revert:
> This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.
>
> Original issue's description:
> > TransportController refactoring.
> >
> > Getting rid of TransportProxy, and in its place adding a
> > TransportController class which will facilitate access to and manage
> > the lifetimes of Transports. These Transports will now be accessed
> > solely from the worker thread, simplifying their implementation.
> >
> > This refactoring also pulls Transport-related code out of BaseSession.
> > Which means that BaseChannels will now rely on the TransportController
> > interface to create channels, rather than BaseSession.
> >
> > Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> > Cr-Commit-Position: refs/heads/master@{#10022}
>
> TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/a81a42f584baa0d93a4b93da9632415e8922450c
> Cr-Commit-Position: refs/heads/master@{#10024}

TBR=pthatcher@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10036}
2015-09-23 18:50:31 +00:00
henrika
c14f5ff60f Improving support for Android Audio Effects in WebRTC.
Now also supports AGC and NS effects and adds the possibility
to override default settings.

R=magjed@webrtc.org, pbos@webrtc.org, sophiechang@chromium.org
TBR=perkj
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10030}
2015-09-23 12:09:40 +00:00
Magnus Jedvert
f706c8ae91 VideoCapturerAndroid: Fix threading issues
This CL makes the following changes:
 * Instead of creating a new thread per startCapture()/stopCapture() cycle, VideoCapturerAndroid has a single thread that is initialized in the constructor and kept during the lifetime of the instance. This is more convenient because then it is always possible to post runnables without if-checks. This way, a lot of synchronize statements can be removed. Also, when the camera thread is preserved after stopCapture() it is possible to post late returnBuffer() calls to the correct thread.
 * FramePool now enforces single thread use and returnBuffer() calls are posted to the camera thread. This is important because the camera should only be used from one thread, and we call camera.addCallbackBuffer() in returnBuffer().
 * switchCamera() no longer returns false on failure, but instead signals the result via the callback.
 * Update the test testCaptureAndAsyncRender() - it's not a valid use case to have outstanding frames when calling PeerConnectionFactory.dispose(). Instead, the renderer implementations should have release() functions that block until all frames are returned. The release() functions need to be called in the correct order with PeerConnectionFactory.dispose() last.

BUG=webrtc:4909
R=hbos@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10025}
2015-09-23 10:01:40 +00:00
torbjorng
a81a42f584 Revert of TransportController refactoring. (patchset #6 id:100001 of https://codereview.webrtc.org/1350523003/ )
Reason for revert:
This CL causes problems with the WebRTC-in-Chromium FYI bots. Presumably it needs to be done in several steps, where removed files are emptied instead of removed in the first step.

Original issue's description:
> TransportController refactoring.
>
> Getting rid of TransportProxy, and in its place adding a
> TransportController class which will facilitate access to and manage
> the lifetimes of Transports. These Transports will now be accessed
> solely from the worker thread, simplifying their implementation.
>
> This refactoring also pulls Transport-related code out of BaseSession.
> Which means that BaseChannels will now rely on the TransportController
> interface to create channels, rather than BaseSession.
>
> Committed: https://crrev.com/47ee2f3b9f33e8938948c482c921d4e13a3acd83
> Cr-Commit-Position: refs/heads/master@{#10022}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10024}
2015-09-23 09:24:27 +00:00