369 Commits

Author SHA1 Message Date
ivoc
ae2c5ad12a Added option to specify a maximum file size when recording an AEC dump.
For applications with a strict filesize limit for debug files,
I added an option to specify a maximum filesize for AEC dumps. An
existing unit test is extended to check that the feature works as
advertised.

BUG=webrtc:4741
TBR=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11081}
2015-12-18 11:53:42 +00:00
perkj
88518a22c6 Use NV21 instead of YUV12 and clean up.
BUG=webrtc:5375

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

Cr-Commit-Position: refs/heads/master@{#11079}
2015-12-18 08:37:10 +00:00
perkj
48477c1c6a MediaCodecVideoEncoder, set timestamp on the encoder surface when drawing a texture.
BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#11078}
2015-12-18 08:34:44 +00:00
kwiberg
0eb15ed7b8 Don't call the Pass methods of rtc::Buffer, rtc::scoped_ptr, and rtc::ScopedVector
We can now use std::move instead!

This CL leaves the Pass methods in place; a follow-up CL will add deprecation annotations to them.

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

Cr-Commit-Position: refs/heads/master@{#11064}
2015-12-17 11:04:24 +00:00
perkj
672aba3f57 Fix error prone code in VideoCapturerAndroid
BUG=webrtc:5282

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

Cr-Commit-Position: refs/heads/master@{#11046}
2015-12-16 10:17:24 +00:00
Magnus Jedvert
51254331cc Android: Refactor renderers to allow apps to inject custom shaders
This CL:
 * Abstracts the functions in GlRectDrawer to an interface.
 * Adds viewport location as argument to the draw() functions, because this information may be needed by some shaders. This also moves the responsibility of calling GLES20.glViewport() to the drawer.
 * Moves uploadYuvData() into a separate helper class.
 * Adds new SurfaceViewRenderer.init() function and new VideoRendererGui.create() function that takes a custom drawer as argument. Each YuvImageRenderer in VideoRendererGui now has their own drawer instead of a common one.

BUG=b/25694445
R=nisse@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11031}
2015-12-15 15:22:38 +00:00
perkj
9638143033 Reland of Made EglBase an abstract class and cleaned up. (patchset #1 id:1 of https://codereview.webrtc.org/1522073002/ )
Reason for revert:
Clients have been updated.

Original issue's description:
> Revert of Made EglBase an abstract class and cleaned up. (patchset #4 id:60001 of https://codereview.webrtc.org/1526463002/ )
>
> Reason for revert:
> Revert due breaking other clients.
>
> Original issue's description:
> > Made EglBase an abstract class and cleaned up.
> > Adds EglBase10 that implemenents EglBase for EGL 1.0
> >
> > BUG=webrtc:4993
> > TBR=glaznew@webrtc.org
> >
> > Committed: https://crrev.com/3207916f35ded33f586774e2c98d4d0089fe3c6e
> > Cr-Commit-Position: refs/heads/master@{#11011}
>
> TBR=magjed@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4993
>
> Committed: https://crrev.com/e22e1cb399748112f308b488e7535754ef6b807d
> Cr-Commit-Position: refs/heads/master@{#11013}

TBR=magjed@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#11024}
2015-12-15 10:48:13 +00:00
perkj
e22e1cb399 Revert of Made EglBase an abstract class and cleaned up. (patchset #4 id:60001 of https://codereview.webrtc.org/1526463002/ )
Reason for revert:
Revert due breaking other clients.

Original issue's description:
> Made EglBase an abstract class and cleaned up.
> Adds EglBase10 that implemenents EglBase for EGL 1.0
>
> BUG=webrtc:4993
> TBR=glaznew@webrtc.org
>
> Committed: https://crrev.com/3207916f35ded33f586774e2c98d4d0089fe3c6e
> Cr-Commit-Position: refs/heads/master@{#11011}

TBR=magjed@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#11013}
2015-12-14 14:43:39 +00:00
perkj
3207916f35 Made EglBase an abstract class and cleaned up.
Adds EglBase10 that implemenents EglBase for EGL 1.0

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

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

Cr-Commit-Position: refs/heads/master@{#11011}
2015-12-14 14:21:19 +00:00
stefan
bc14164aad Revert of Add APK targets to build libjingle tests for Android. (patchset #10 id:180001 of https://codereview.webrtc.org/1511633002/ )
Reason for revert:
Breaks bots.

Original issue's description:
> Add APK targets to build libjingle_peerconnection_unittests for Android.
>
> BUG=webrtc:2365
>
> The work started from the work by kjellander@ in https://codereview.webrtc.org/1413663003/
>
> Committed: https://crrev.com/a78c0211fd50369a75a962385db6163bd8ded239
> Cr-Commit-Position: refs/heads/master@{#11007}

TBR=kjellander@webrtc.org,tommi@webrtc.org,perkj@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2365

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

Cr-Commit-Position: refs/heads/master@{#11009}
2015-12-14 12:31:22 +00:00
perkj
a78c0211fd Add APK targets to build libjingle_peerconnection_unittests for Android.
BUG=webrtc:2365

The work started from the work by kjellander@ in https://codereview.webrtc.org/1413663003/

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

Cr-Commit-Position: refs/heads/master@{#11007}
2015-12-14 10:41:37 +00:00
Per
71f5a9a377 This cl change VideoCaptureAndroid to handle CVO the same way when capturing to texture as when using ordinary byte buffers.
Ie, rotation is applied in C++ in the VideoFrameFactory is  apply_rotation_ is set. If not, rotation is sent in RTP.

BUG=webrtc:4993
R=nisse@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#10986}
2015-12-11 08:32:50 +00:00
perkj
796cfaf7f7 Add VideoCodec::PreferDecodeLate
The purpose is so that a decoder (Android) that only have a limited number of output buffers can make sure that decoding is done just before the frame is needed.

Removed unused iSupportsRenderTiming and the settings structs since it was not used.
Added VCMReceiver::FrameForDecoding unit test for the case when PreferDecodeLate is set.

Note that this does not change the current behaviour. We actually currently always decode frames late. This cl is to make sure the behaviour is kept for Android, if the default behaviour is changed.

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

Cr-Commit-Position: refs/heads/master@{#10974}
2015-12-10 17:27:45 +00:00
nisse
c490e01bd1 Implement NativeToI420Buffer in C++, calling java SurfaceTextureHelper, new method .textureToYUV, to
do the conversion using an opengl fragment shader.

BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10972}
2015-12-10 14:23:42 +00:00
perkj
7b2f7627e4 Don't call SetPreviewFormat if capturing to textures.
This fix an issue seen on Huawei Y300 where the camera feed is black and white if we capture to textures and setpreviewformat is called.

BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10941}
2015-12-08 20:03:07 +00:00
Peter Boström
6f28cf0b95 Implement standalone event tracing in AppRTCDemo.
Logs tracing events (TRACE_EVENT0 and friends) to storage in a format
compatible with chrome://tracing which can be used for performance
evaluation, finding lock contention and other sweet things). Tracing is
still basic and doesn't contain thread metadata or logging of tracing
arguments.

BUG=webrtc:5158
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10921}
2015-12-07 22:17:26 +00:00
nisse
03f80ebb83 Refactor EglBase configuration.
Delete EglBase.ConfigType, instead pass arrays of attributes, and define
constant arrays for the common cases.

Both in progress NativeToI420 and extending GlRectDrawer to other shapes (with alpha) needs this.

BUG=b/25694445

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

Cr-Commit-Position: refs/heads/master@{#10908}
2015-12-07 09:17:22 +00:00
Honghai Zhang
381b4217cb Ping backup connection at a slower rate
and make it configurable from the app.
Changed the decision on whether a connection is pingable:
1.Check whether a connection is a backup connection. A connection is considered as a backup connection only if the channel is complete, the connection is active and it is not the best connection.
2. Ping a non-backup connection if it is active and for backup connection, ping it at a slower rate.
Note the default behavior is the same as before.

Also cached the channel state since we are accessing it more often.
BUG=webrtc:5034
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10900}
2015-12-04 20:24:10 +00:00
honghaiz
9462052f32 In some rare Android systems ConnectivityManager may be null.
Handle this case more gracefully.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10875}
2015-12-02 22:33:26 +00:00
deadbeef
ee524f7c02 Adding Java binding for CreateSender.
Review URL: https://codereview.webrtc.org/1486243002

Cr-Commit-Position: refs/heads/master@{#10871}
2015-12-02 19:27:47 +00:00
perkj
d20d247166 Fix VideoCaptureAndroid, drop frame when switching camera using textures.
Dropping the first frame intended to fix a problem when switching cameras on N6 when we are capturing to textures but due to a silly bug fixed in this cl the frame was not dropped...

BUG=webrtc:5262
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10867}
2015-12-02 12:25:32 +00:00
perkj
226a602ad6 Fix problem when drawing to the Android Media encoder surface.
Problem seen on N6.
BUG=webrtc:5147

TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10866}
2015-12-02 10:24:46 +00:00
perkj
40455d6f37 This cl change so that we use EGL14 where it is supported and EGL10 otherwise. The idea is to make this agnostic to an application and for WebRTC except in EGLBase.
The reason we want to use EGL14 is to be able to use EGLExt.eglPresentationTimeANDROID when writing textures to MediaEncoder.

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

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

Cr-Commit-Position: refs/heads/master@{#10864}
2015-12-02 09:07:22 +00:00
perkj
14f4144a82 Add helper KeepRefUntilDone.
The callback keeps a reference to an object until the callback goes out of scope.

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

Cr-Commit-Position: refs/heads/master@{#10847}
2015-12-01 06:15:53 +00:00
glaznev
ee69ed505b Add separate event for camera freeze.
Review URL: https://codereview.webrtc.org/1479523003

Cr-Commit-Position: refs/heads/master@{#10846}
2015-11-30 23:26:44 +00:00
magjed
ae54b835ea Android SurfaceViewRenderer: Add resetStatistics() method
Review URL: https://codereview.webrtc.org/1472323003

Cr-Commit-Position: refs/heads/master@{#10833}
2015-11-28 11:15:04 +00:00
Per
727dbc2968 VideoCapturerAndroid - allow lower frame rate in bad lightning
Insted of using a fixed frame rate, we allow the camera to use a lower frame rate. The camera will choose depending on lightning condition.

TESTED= In a room with low light on N5, N6 N7, Galaxy 4.
BUG=webrtc:5262
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10807}
2015-11-26 14:15:51 +00:00
Per
598242a583 Support texture scaling in Androids MediaEncoder.
This cl make it possible for the hw video encoder to downscale a texture image before encoding. The purpose is to allow downscaling if the quality is too bad at the current resolution.
BUG=webrtc:4993
R=magjed@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10804}
2015-11-26 13:29:06 +00:00
Per
a3c20bb9a0 Add support for scaling textures in AndroidVideoCapturer.
The idea is to also reuse AndroidTextureBuffer::CropAndScale when scaling in the encoder.

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

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

Cr-Commit-Position: refs/heads/master@{#10802}
2015-11-26 12:41:52 +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
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
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
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
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
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
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
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