916 Commits

Author SHA1 Message Date
deadbeef
fac0655fd7 Reland of Adding the ability to create an RtpSender without a track.
(patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )

Relanding after fixing CallAndModifyStream to account for new
procedures for adding/removing a track from a stream.

Original issue's description:
> Adding the ability to create an RtpSender without a track.
>
> This CL also changes AddStream to immediately create a sender, rather
> than waiting until the track is seen in SDP. And the PeerConnection now
> builds the list of "send streams" from the list of senders, rather than
> the collection of local media streams.
>
> Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> Cr-Commit-Position: refs/heads/master@{#10414}

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

Cr-Commit-Position: refs/heads/master@{#10790}
2015-11-25 19:26:08 +00:00
qiangchen
444682acf9 Remove frame time scheduing in IncomingVideoStream
This is part of the project that makes RTC rendering more
smooth. We've already finished the developement of the
frame selection algorithm in WebMediaPlayerMS, where we
managed a frame pool, and based on the vsync interval, we
actively select the best frame to render in order to
maximize the rendering smoothness.

Thus the frame timeline control in IncomingVideoStream is
no longer needed, because with sophisticated frame
selection algorithm in WebMediaPlayerMS, the time control
in IncomingVideoStream will do nothing but add some extra
delay.

BUG=514873

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

Cr-Commit-Position: refs/heads/master@{#10781}
2015-11-25 02:08:03 +00:00
ivoc
b2514725a9 Add JNI interface for functions to start and stop recording AEC dumps and RTC event logs.
BUG=webrtc:4741

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

Cr-Commit-Position: refs/heads/master@{#10776}
2015-11-24 17:00:39 +00:00
Magnus Jedvert
4c5eea3c73 Android SurfaceViewRenderer: Don't rely on widthSpec/heightSpec after onMeasure() returns
SurfaceViewRenderer currently stores widthSpec/heightSpec internally, and triggers requestLayout() from renderFrameOnRenderThread()->checkConsistentLayout() when it detects a change using widthSpec/heightSpec. This is not reliable, because onMeasure() might be called several times during the layout process negotiation. For example it might look like this:
-> onMeasure(at most 1920, at most 1080)
<- setMeasuredDimension(1080, 1080)
-> onMeasure(exactly 1080, exactly 1080)
<- setMeasuredDimension(1080, 1080)
Then we store (exactly 1080, exactly 1080) even though we are allowed to be bigger than this, and requestLayout() will never be triggered.

This CL moves the requestLayout() trigger to updateFrameDimensionsAndReportEvents() when the frame size changes.

Other small changes in this CL are:
* Replace with/height variables with Point.
* Add logging in updateFrameDimensionsAndReportEvents() even when rendererEvents is null.
* Use Math.round() in RendererCommon.getDisplaySize() instead of integer cast.

R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10774}
2015-11-24 16:45:32 +00:00
perkj
7baf79fb9e Temporary remove spamming MediaDecoder log
This log will write for each decoded frame if the textures are rendered using VideoRenderGUI
and the the screen is locked.

TBR=glaznew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10771}
2015-11-24 14:26:46 +00:00
Magnus Jedvert
4f2152e328 Android SurfaceViewRenderer: Make sure not to call eglCreateSurface() twice
eglCreateSurface() calls are posted to the render thread from both init() and surfaceCreated(). If the render thread does not process the eglCreateSurface() message from init() before surfaceCreated() is called, eglCreateSurface() will be called twice resulting in a crash.

This CL makes sure eglCreateSurface() is only called once.

BUG=b/25815604
R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10769}
2015-11-24 12:54:36 +00:00
perkj
9237559b16 Add SurfaceTextureHelper.disconnect(Handler handler) method
This method should be used when the SurfaceTextureHelper is created to use a specific handler.
This now guarantee that the looper used by handler is destroyed after a frame has been returned.

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

Cr-Commit-Position: refs/heads/master@{#10767}
2015-11-24 11:03:19 +00:00
deadbeef
b5cb19b37c Fixing direction attribute in answer for non-RTP protocols.
"non-RTP protocols" refers to SCTP data channels. Because
there are no streams for SCTP data channels, the answer was being
set to RECVONLY.

BUG=webrtc:5228

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

Cr-Commit-Position: refs/heads/master@{#10762}
2015-11-24 00:39:18 +00:00
wr.wllm
05816eb8d7 Fix target_arch for ios devices
Replace armv7 by arm and arm64 in documentation for iOS build
instructions.

BUG=5125

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

Cr-Commit-Position: refs/heads/master@{#10761}
2015-11-24 00:22:32 +00:00
Magnus Jedvert
1aa6efe885 Android ThreadUtils: Make the class public for access outside org.webrtc
Also make the class non-final. We shouldn't use non-final classes, because then we can't mock them.

R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10757}
2015-11-23 19:13:36 +00:00
perkj
87d584597c Fix androidmediadecoder_jni TS logging.
And fix pragma warning about deprecated "webrtc/modules/video_coding/codecs/interface/video_codec_interface.h include.

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

Cr-Commit-Position: refs/heads/master@{#10744}
2015-11-23 09:46:32 +00:00
deadbeef
5def7b9fde Revert of Adding the ability to create an RtpSender without a track. (patchset #3 id:300001 of https://codereview.webrtc.org/1413983004/ )
Reason for revert:
Still breaking CallAndModifyStream. Chromium CL intended to fix it (https://codereview.chromium.org/1435713002/) wasn't sufficient, because I forgot to call addStream/removeStream on the second connection.

Original issue's description:
> Reland of Adding the ability to create an RtpSender without a track. (patchset #1 id:1 of https://codereview.webrtc.org/1426443007/ )
>
> Reason for revert:
> Relanding, after changing the expectations of WebRtcBrowserTest.CallAndModifyStream.
>
> Original issue's description:
> > Revert of Adding the ability to create an RtpSender without a track. (patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )
> >
> > Reason for revert:
> > Causing a compiler warning, and causing WebRtcBrowserTest.CallAndModifyStream to fail.
> >
> > Original issue's description:
> > > Adding the ability to create an RtpSender without a track.
> > >
> > > This CL also changes AddStream to immediately create a sender, rather
> > > than waiting until the track is seen in SDP. And the PeerConnection now
> > > builds the list of "send streams" from the list of senders, rather than
> > > the collection of local media streams.
> > >
> > > Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> > > Cr-Commit-Position: refs/heads/master@{#10414}
> >
> > TBR=pthatcher@webrtc.org,pthatcher@chromium.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://crrev.com/8f46c63f6f764254892f4111b54aa1cc8f32eeeb
> > Cr-Commit-Position: refs/heads/master@{#10417}
>
> TBR=pthatcher@webrtc.org,pthatcher@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/6834fa10f142bf5e2275142acb834898911d09ae
> Cr-Commit-Position: refs/heads/master@{#10730}

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

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

Cr-Commit-Position: refs/heads/master@{#10732}
2015-11-20 19:43:27 +00:00
deadbeef
6834fa10f1 Reland of Adding the ability to create an RtpSender without a track. (patchset #1 id:1 of https://codereview.webrtc.org/1426443007/ )
Reason for revert:
Relanding, after changing the expectations of WebRtcBrowserTest.CallAndModifyStream.

Original issue's description:
> Revert of Adding the ability to create an RtpSender without a track. (patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )
>
> Reason for revert:
> Causing a compiler warning, and causing WebRtcBrowserTest.CallAndModifyStream to fail.
>
> Original issue's description:
> > Adding the ability to create an RtpSender without a track.
> >
> > This CL also changes AddStream to immediately create a sender, rather
> > than waiting until the track is seen in SDP. And the PeerConnection now
> > builds the list of "send streams" from the list of senders, rather than
> > the collection of local media streams.
> >
> > Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> > Cr-Commit-Position: refs/heads/master@{#10414}
>
> TBR=pthatcher@webrtc.org,pthatcher@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/8f46c63f6f764254892f4111b54aa1cc8f32eeeb
> Cr-Commit-Position: refs/heads/master@{#10417}

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

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

Cr-Commit-Position: refs/heads/master@{#10730}
2015-11-20 17:50:02 +00:00
perkj
30e918278c This cl add support to encode from textures to MediaCodecVideoEncoder.
This has also partly been reviewed in https://codereview.webrtc.org/1375953002/.

BUG=webrtc:4993
TBR=glaznew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10725}
2015-11-20 09:31:32 +00:00
Alex Glaznev
17c0aff9ea Enable VP9 HW decoder on Exynos chips.
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10720}
2015-11-19 23:56:24 +00:00
perkj
7755e2064b Chrome has now been updated.
CapturedFrame
Removed deprecated elapsed_time.
Changed rotation to be webrtc::VideoRotation.

WebRTCVideoFrame
Removed deprecated InitToBlack
Removed deprecated constructors.

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

Cr-Commit-Position: refs/heads/master@{#10718}
2015-11-19 20:02:28 +00:00
perkj
726b1f7a14 Removed dummy "mediastreamsignaling.h"
Review URL: https://codereview.webrtc.org/1460483005

Cr-Commit-Position: refs/heads/master@{#10717}
2015-11-19 20:01:10 +00:00
ivoc
191c1f9d5b Disable all JsepPeerConnectionP2PTestClient tests on Mac due to flakiness on Mac Debug bots.
NOTRY=true
TBR=kjellander@webrtc.org
BUG=webrtc:5231

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

Cr-Commit-Position: refs/heads/master@{#10716}
2015-11-19 19:12:12 +00:00
Magnus Jedvert
ef453238aa Android: Make classes non-final
The classes are not mockable if they are final.

R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10714}
2015-11-19 16:54:16 +00:00
ivoc
1503867850 Disabled several JsepPeerConnectionP2PTestClient tests on Mac, due to flakiness on Debug Mac trybots.
NOTRY=true
TBR=kjellander@webrtc.org
BUG=webrtc:5231

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

Cr-Commit-Position: refs/heads/master@{#10710}
2015-11-19 13:28:14 +00:00
henrika
b6755ab6df Revert of Adding thread timeout for audio recorer thread in Java (patchset #2 id:20001 of https://codereview.webrtc.org/1444313002/ )
Reason for revert:
Reverting since this fix might hide real issue and the reported root problem seems extremely rare.

Original issue's description:
> Adding thread timeout for audio recorer thread in Java
>
> BUG=NONE
>
> Committed: https://crrev.com/fd614c2149c7985bd83df809df71d0d60e5a8f74
> Cr-Commit-Position: refs/heads/master@{#10671}

TBR=magjed@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10707}
2015-11-19 10:43:19 +00:00
Per
488e75f11b Patchset 1 yet again relands without modification https://codereview.webrtc.org/1422963003/
It do the following:

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.
It moves the responsibility of calculating the decode time to Java.

Patchset2 Refactor MediaCodecVideoDecoder to drop frames if a texture is not released.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10706}
2015-11-19 09:43:46 +00:00
Guo-wei Shieh
521ed7bf02 Reland Convert internal representation of Srtp cryptos from string to int
TBR=pthatcher@webrtc.org
BUG=webrtc:5043

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

Cr-Commit-Position: refs/heads/master@{#10703}
2015-11-19 03:42:00 +00:00
guoweis
318166bed7 Revert of Convert internal representation of Srtp cryptos from string to int. (patchset #10 id:180001 of https://codereview.webrtc.org/1416673006/ )
Reason for revert:
Broke chromium fyi build.

Original issue's description:
> Convert internal representation of Srtp cryptos from string to int.
>
> Note that the coversion from int to string happens in 3 places
> 1) SDP layer from int to external names. mediasession.cc GetSupportedSuiteNames.
> 2) for SSL_CTX_set_tlsext_use_srtp(), converting from int to internal names.
> 3) stats collection also needs external names.
>
> External names are like AES_CM_128_HMAC_SHA1_80, specified in sslstreamadapter.cc.
> Internal names are like SRTP_AES128_CM_SHA1_80, specified in opensslstreamadapter.cc.
>
> The conversion from string to int happens in one place only, SDP layer, SrtpFilter::ApplyParams().
>
> BUG=webrtc:5043
>
> Committed: https://crrev.com/2764e1027a08a5543e04b854a27a520801faf6eb
> Cr-Commit-Position: refs/heads/master@{#10701}

TBR=juberti@webrtc.org,pthatcher@webrtc.org,juberti@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5043

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

Cr-Commit-Position: refs/heads/master@{#10702}
2015-11-19 03:03:46 +00:00
guoweis
2764e1027a Convert internal representation of Srtp cryptos from string to int.
Note that the coversion from int to string happens in 3 places
1) SDP layer from int to external names. mediasession.cc GetSupportedSuiteNames.
2) for SSL_CTX_set_tlsext_use_srtp(), converting from int to internal names.
3) stats collection also needs external names.

External names are like AES_CM_128_HMAC_SHA1_80, specified in sslstreamadapter.cc.
Internal names are like SRTP_AES128_CM_SHA1_80, specified in opensslstreamadapter.cc.

The conversion from string to int happens in one place only, SDP layer, SrtpFilter::ApplyParams().

BUG=webrtc:5043

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

Cr-Commit-Position: refs/heads/master@{#10701}
2015-11-19 02:02:40 +00:00
kjellander@webrtc.org
b7ce96470b modules/video_coding/utility: Remove include
This makes it clearer this code not meant to be used as an API.
I could not find any use of this in downstream code.

BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=stefan@webrtc.org
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10699}
2015-11-18 22:04:20 +00:00
Alex Glaznev
ad948c42a1 Preliminary support of VP9 HW encoder on Android.
Not fully tested yet. Verified in test loopback application
with fake VP9 codec factory.
Assume that encoder generates bitstream in non flexible mode with
one temporal and one spatial layers.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10695}
2015-11-18 21:06:51 +00:00
phoglund
4dd7a653b5 Temporarily disable VERIFY while bug is investigated.
This breaks some client apps in annoying ways, so disable for now.

BUG=webrtc:4776

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

Cr-Commit-Position: refs/heads/master@{#10693}
2015-11-18 17:55:00 +00:00
henrika
fd614c2149 Adding thread timeout for audio recorer thread in Java
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10671}
2015-11-17 12:28:33 +00:00
kjellander
6f8ce060a2 common_video: rename interface -> include
To avoid breaking downstream, the "interface" directories were copied
into a new "common_video/include" dir. The old headers got pragma
warnings added about deprecation (a very short deprecation since I plan
to remove them as soon downstream is updated).
The header guards are also identical to avoid mixing them up in the transition.

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc

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

Cr-Commit-Position: refs/heads/master@{#10659}
2015-11-16 21:52:31 +00:00
magjed
633a3aa26f ThreadUtils: Add joinUninterruptibly() with timeout
This is similar to com.google.common.util.concurrent.Uninterruptibles.joinUninterruptibly().
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/util/concurrent/Uninterruptibles.html#joinUninterruptibly(java.lang.Thread,%20long,%20java.util.concurrent.TimeUnit)

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

Cr-Commit-Position: refs/heads/master@{#10651}
2015-11-16 13:12:36 +00:00
magjed
3e0f602055 Android EglBase: Add support for creating EGLSurface from Surface, not SurfaceHolder
Review URL: https://codereview.webrtc.org/1438223003

Cr-Commit-Position: refs/heads/master@{#10646}
2015-11-16 10:04:57 +00:00
magjed
4a41361f98 Android SurfaceViewRenderer: Never hold a pending frame indefinitely
The original purpose with keeping one pending frame in SurfaceViewRenderer was to reduce latency for the first rendered frame when we are waiting for the Surface to be created. However, it is very dangerous to hold a pending frame indefinitely when used with a SurfaceTexture, because the SurfaceTexture only has one frame and thus holding a frame in the renderer will freeze everything and typically cause timeout crashes.

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

Cr-Commit-Position: refs/heads/master@{#10638}
2015-11-13 16:48:06 +00:00
Per
c01c25434b Revert of Android MediaCodecVideoDecoder: Manage lifetime of texture frames (patchset #12 id:320001 of https://codereview.webrtc.org/1422963003/ )
Reason for revert:
Causes fallback to SW decoder if a renderer is put in the background.

Original issue's description:
> Patchset 1 is a pure
> revert of "Revert of "Android MediaCodecVideoDecoder: Manage lifetime of texture frames" https://codereview.webrtc.org/1378033003/
>
> Following patchsets move the responsibility of calculating the decode time to Java.
>
> TESTED= Apprtc loopback using H264 and VP8 on N5, N6, N7, S5
>
> Committed: https://crrev.com/9cb8982e64f08d3d630bf7c3d2bcc78c10db88e2
> Cr-Commit-Position: refs/heads/master@{#10597}

TBR=magjed@webrtc.org,glaznev@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#10637}
2015-11-13 15:58:37 +00:00
deadbeef
faac497af5 Fix for scenario where m-line is revived after being set to port 0.
When this is detected, we'll now "reconfigure" the senders and
receivers, which will reconnect the capturers/renderers to the
underlying streams which have been recreated.

BUG=webrtc:2136

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

Cr-Commit-Position: refs/heads/master@{#10628}
2015-11-12 23:33:14 +00:00
Patrik Höglund
68876f990e Introduces Android API level linting, fixes all current API lint errors.
This CL attempts to annotate accesses on >16 API levels using as
small scopes as possible. The TargetApi notations mean "yes, I know
I'm accessing a higher API and I take responsibility for gating the
call on Android API level". The Encoder/Decoder classes are annotated
on the whole class, but they're only accessed through JNI; we should
annotate on method level otherwise and preferably on private methods.

This patch also fixes some compiler-level deprecation warnings (i.e.
-Xlint:deprecation), but probably not all of them.

BUG=webrtc:5063
R=henrika@webrtc.org, kjellander@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10624}
2015-11-12 16:37:01 +00:00
perkj
9576e54836 Reland "Prepare MediaCodecVideoEncoder for surface textures.""
This reverts commit 12f680214e28dc5f0a13ac8afc0d1445f89e67e6.
Original cl in https://codereview.webrtc.org/1396073003/
Prepare MediaCodecVideoEncoder for surface textures.
This refactors MediaVideoEncoder to prepare for adding support to encode from textures. The C++ layer does not have any functional changes.
- Moves ResetEncoder to always work on the codec thread
- Adds use of ThreadChecker.
- Change Java MediaEncoder.Init to return true or false and introduce method getInputBuffers.
- Add simple unit test for Java MediaCodecVideoEncoder.

The pure revert of the revert is in patchset 1.
Patchset 2, moves getting the input buffer to before storing pending timestamps etc to fix b/24984012.

BUG=webrtc:4993 b/24984012

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

Cr-Commit-Position: refs/heads/master@{#10622}
2015-11-12 14:43:22 +00:00
magjed
fc6affc60d Android SurfaceViewRenderer: Call glClear() for every frame to avoid bad GL state
BUG=webrtc:5147

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

Cr-Commit-Position: refs/heads/master@{#10617}
2015-11-12 09:08:37 +00:00
deadbeef
653b8e02f2 Reland of Adding the ability to change ICE servers through SetConfiguration. (patchset #1 id:1 of https://codereview.webrtc.org/1424803004/ )
Reason for revert:
Relanding with compile warning fixed.

Original issue's description:
> Revert of Adding the ability to change ICE servers through SetConfiguration. (patchset #7 id:120001 of https://codereview.webrtc.org/1391013007/ )
>
> Reason for revert:
> Caused compiler warning, breaking Chrome FYI bots.
>
> Original issue's description:
> > Adding the ability to change ICE servers through SetConfiguration.
> >
> > Added a SetIceServers method to PortAllocator. Also added a new
> > PeerConnection Initialize method that takes a PortAllocator, in the
> > hope that we can get rid of PortAllocatorFactoryInterface, since the
> > only substantial thing a factory does is convert the webrtc:: ICE
> > servers to cricket:: versions.
> >
> > Committed: https://crrev.com/d3b26d94399ff539db375a9b84010ee75479d4cf
> > Cr-Commit-Position: refs/heads/master@{#10420}
>
> TBR=pthatcher@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/18a944bf0ac9eed872dc009bd58e6bc12c946303
> Cr-Commit-Position: refs/heads/master@{#10421}

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

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

Cr-Commit-Position: refs/heads/master@{#10609}
2015-11-11 20:55:18 +00:00
perkj
cbfabbf818 Fix potential tearing issue in VideoRendererGui.
This make sure that the texture copy is syncronized.

To reproduce the problem I:
Reverted "Revert of "Android MediaCodecVideoDecoder: Manage lifetime of texture frames" https://codereview.webrtc.org/1378033003/"
commit 543b6ca30a43eeb069c699291460ce6bacc7959d.
Reverted "Enable SurfaceViewRenderer for AppRTCDemo"
commit 7076729c57c27aa813760d2038be02c36f4d7649.
and ran ApprtDemo in loopback and changed the orientation a couple of times.

TBR=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10598}
2015-11-11 11:38:39 +00:00
perkj
9cb8982e64 Patchset 1 is a pure
revert of "Revert of "Android MediaCodecVideoDecoder: Manage lifetime of texture frames" https://codereview.webrtc.org/1378033003/

Following patchsets move the responsibility of calculating the decode time to Java.

TESTED= Apprtc loopback using H264 and VP8 on N5, N6, N7, S5

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

Cr-Commit-Position: refs/heads/master@{#10597}
2015-11-11 11:27:05 +00:00
magjed
b2d1c5026d SurfaceViewRenderer: Add resource name to log outputs and exceptions
Add resource name to log outputs to distinguish local renderer from remote renderer.

This Cl also adds some thread checks and factors out a small helper function makeBlack().

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

Cr-Commit-Position: refs/heads/master@{#10596}
2015-11-11 11:06:49 +00:00
tfarina
5237aaf243 Convert usage of ARRAY_SIZE to arraysize.
ARRAY_SIZE is the old version of arraysize and does not cover
all the cases in C++, arraysize is a copy of Chromium's
version and thus have wider coverage.

BUG=None
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10594}
2015-11-11 07:44:39 +00:00
Guo-wei Shieh
9af97f8910 WebRTC should generate default private address even when adapter enumeration is disabled.
Introduce a DefaultAddressProvider such that rtc::Network can't access other part of NetworkManager.

This also removes the hack of generating the loopback address. The dependency has been removed by https://codereview.chromium.org/1417023003/

BUG=webrtc:5061
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10590}
2015-11-10 22:47:49 +00:00
Karl Wiberg
be57983f4b Rename Maybe to Optional
And add examples of good and bad usage to the documentation.

R=aluebs@webrtc.org, henrik.lundin@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10588}
2015-11-10 21:34:32 +00:00
Alex Glaznev
69a7fd5047 Support VP9 HW video decoding on Android.
Preliminary verification is done for OMX.google.vp9.decoder codec.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10586}
2015-11-10 18:25:59 +00:00
perkj
83dfad6853 VideoCapturerAndroid: Changed camera freeze check to check that all frames are pending before reporting a client error.
BUG=b/25514149

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

Cr-Commit-Position: refs/heads/master@{#10563}
2015-11-09 15:39:55 +00:00
perkj
89ef6cc13e Attempt to open Android camera later if it is already in use.
This change VideoCapturerAndroid to attempt 3 times with a period of 300ms to open the camera if it fails.
This is so that if another application have it already opened, it would have more time to release it.
BUG=b/25190234

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

Cr-Commit-Position: refs/heads/master@{#10559}
2015-11-09 09:35:26 +00:00
magjed
1ebf8ba368 SurfaceViewRenderer: Drop old frames instead of new frames
If SurfaceViewRenderer can't keep up with the stream of incoming frames it has to drop frames. Currently, new frames are dropped until the old pending frame is rendered. This CL drops the old pending frame instead.

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

Cr-Commit-Position: refs/heads/master@{#10558}
2015-11-09 08:41:55 +00:00
perkj
3bfef44a4d Changed timeout to 6s for reporting android camera freeze.
Also distinguish between camera failures and failures due to that buffers has not been returned.
Adds unit tests for making sure CameraEventHandler.onError is triggered if frames are not returned.

BUG=b/25514149

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

Cr-Commit-Position: refs/heads/master@{#10555}
2015-11-08 14:58:22 +00:00