History log of /external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
60ca31bf5d206ff01b5441639806f7303365e162 04-Jan-2016 kjellander <kjellander@webrtc.org> Roll chromium_revision d66326c..4df108a (367167:367307)

The changes in https://chromium.googlesource.com/chromium/src/+/d66326c..4df108a/build/common.gypi
enables a lot more warnings, which have been disabled/fixed in this CL.
See tracking bugs for remaining work.

Change log: https://chromium.googlesource.com/chromium/src/+log/d66326c..4df108a
Full diff: https://chromium.googlesource.com/chromium/src/+/d66326c..4df108a

Changed dependencies:
* src/buildtools: https://chromium.googlesource.com/chromium/buildtools.git/+log/fee7f1e..6d0c448
* src/third_party/libsrtp: https://chromium.googlesource.com/chromium/deps/libsrtp.git/+log/b8dd754..8a7662a
DEPS diff: https://chromium.googlesource.com/chromium/src/+/d66326c..4df108a/DEPS

No update to Clang.

BUG=webrtc:5397, webrtc:5398, webrtc:5399
TBR=hta@webrtc.org, perkj@webrtc.org
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11147}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
b7d9a97ce41022e984348efb5f28bf6dd6c6b779 18-Dec-2015 Peter Boström <pbos@webrtc.org> Expose codec implementation names in stats.

Used to distinguish between software/hardware encoders/decoders and
other implementation differences. Useful for tracking quality
regressions related to specific implementations.

BUG=webrtc:4897
R=hta@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11084}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
88518a22c62ccb7989a0e10d43bea1a63cdfcd09 18-Dec-2015 perkj <perkj@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
796cfaf7f76aa740cc7f4bb2c94f88637e475324 10-Dec-2015 perkj <perkj@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
40455d6f37fda78ea069a51d95f28994bd736864 02-Dec-2015 perkj <perkj@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
87d584597c99195758b0f115f776a18f15f32ffb 23-Nov-2015 perkj <perkj@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
488e75f11b840dfbe636a9ea9bbc18252e7c59f0 19-Nov-2015 Per <perkj@chromium.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
ad948c42a1fd29bf22205ded2a175a967748abe4 18-Nov-2015 Alex Glaznev <glaznev@google.com> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
6f8ce060a21fcdc1c951fbf06768eb0cc0083b2f 16-Nov-2015 kjellander <kjellander@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
c01c25434ba92f6ea32cdfdcde77ec8278182851 13-Nov-2015 Per <perkj@chromium.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
9cb8982e64f08d3d630bf7c3d2bcc78c10db88e2 11-Nov-2015 perkj <perkj@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
69a7fd50476a60ec3def8552993bebef83ed9c58 10-Nov-2015 Alex Glaznev <glaznev@google.com> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
e55c42c13ee2620b46376ab708e7d4c0d698cf51 28-Oct-2015 glaznev <glaznev@webrtc.org> Remove limitation on the amount of maximum pending HW decoder inputs.

Plus log first few decoder frames in and out events.

BUG=b/25287910

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

Cr-Commit-Position: refs/heads/master@{#10439}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
98f53510b222f71fdd8b799b2f33737ceeb28c61 28-Oct-2015 Henrik Kjellander <kjellander@webrtc.org> system_wrappers: rename interface -> include

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

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

Cr-Commit-Position: refs/heads/master@{#10438}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
49e196af4060624d620297a6bc017699daa33550 23-Oct-2015 Peter Boström <pbos@webrtc.org> Remove VideoFrameType aliases for FrameType.

No longer used in Chromium, so these can now be removed.

BUG=webrtc:5042
R=mflodman@webrtc.org
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10390}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
8c425aa8f66fc2f06df402a0f2163cb53373856f 23-Oct-2015 magjed <magjed@webrtc.org> Android: Replace EGL14 with EGL10

The purpose with this change is to support older API levels by replacing EGL14 (API lvl 17) with EGL10 (API lvl 1). The main purpose is to lower API lvl requirement for SurfaceViewRenderer from API lvl 17 to API lvl 15. Also, camera texture capture will work on API lvl < 17 (and texture encode/decode in MediaCodec, but we don't use MediaCodec below API lvl 18?).

GLSurfaceView/VideoRendererGui is already using EGL10.

EGL 1.1 - 1.4 added new functionality, but won't affect performance. We don't need the functionality, so there should be no reason to not use EGL 1.0.

I have profiled AppRTCDemo with Qualcomm Trepn Profiler on a Nexus 5 and Nexus 6 and couldn't see any difference.

Specifically, this CL:
* Update EglBase to use EGL10 instead of EGL14.
* Update imports from EGL14 to EGL10 in a lot of files (plus changing import order in some cases).
* Update VideoCapturerAndroid to always support texture capture.

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

Cr-Commit-Position: refs/heads/master@{#10378}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
543b6ca30a43eeb069c699291460ce6bacc7959d 15-Oct-2015 magjed <magjed@webrtc.org> Revert of "Android MediaCodecVideoDecoder: Manage lifetime of texture frames" https://codereview.webrtc.org/1378033003/

The code that depends on the reverted CL is disabled but not removed. NativeHandleImpl is reverted to the previous implementation, and the new implementation is renamed to NativeTextureHandleImpl. Texture capture can not be used anymore, because it will crash in peerconnection_jni.cc.

Reason for revert:
Increased HW decoder latency and crashes related to that. Also suspected cause of video tearing.

Original issue's description:
> 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
>
> Committed: https://crrev.com/91b348c7029d843e06868ed12b728a809c53176c
> Cr-Commit-Position: refs/heads/master@{#10203}

TBR=glaznev
BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10288}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
6d387c0e92f033e31c8dd1efbf3f98bf159c6cf1 14-Oct-2015 magjed <magjed@webrtc.org> Android MediaCodecVideoDecoder: Limit max pending frames to number of input buffers

This CL should reduce the number of timeouts for dequeueInputBuffer() which results in the log "MediaCodecVideo: dequeueInputBuffer error" followed by software fallback for VP8/VP9 and codec restart for H264.

A timeout always happen for dequeueInputBuffer() when frames_received_ > frames_decoded_ + num_input_buffers. The following code tries to drain the decoder before enqueuing more input buffers:
// Try to drain the decoder and wait until output is not too
// much behind the input.
if (frames_received_ > frames_decoded_ + max_pending_frames_) {
ALOGV("Received: %d. Decoded: %d. Wait for output...",
frames_received_, frames_decoded_);
if (!DeliverPendingOutputs(jni, kMediaCodecTimeoutMs,
true /* dropFrames */)) {
ALOGE << "DeliverPendingOutputs error";
return ProcessHWErrorOnCodecThread();
}
if (frames_received_ > frames_decoded_ + max_pending_frames_) {
ALOGE << "Output buffer dequeue timeout";
return ProcessHWErrorOnCodecThread();
}
...
}

However, for H264, |max_pending_frames_| can currently be larger than the number of input buffers so that the code above is never executed. This CL limits |max_pending_frames_| to the number of input buffers.

TBR=glaznev
BUG=b/24867188,b/24864151

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

Cr-Commit-Position: refs/heads/master@{#10273}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
fddf6e526c8a49e8d67810881c5bed44e2573474 08-Oct-2015 Alex Glaznev <glaznev@google.com> Use WebRTC logging in MediaCodec JNI code.

Also enable HW encoder scaling in AppRTCDemo.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10205}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
91b348c7029d843e06868ed12b728a809c53176c 07-Oct-2015 Magnus Jedvert <magjed@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
0c4e06b4c6107a1b94f764e279e4fb4161e905b0 07-Oct-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
44bf6f5f67ab6b6677e3cd1cceb954c2426f930a 03-Oct-2015 magjed <magjed@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
7e319372abd4403565aa3d27a2d1bfa069969b19 02-Oct-2015 Magnus Jedvert <magjed@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
bbda54e6fa3108451fbe83a6b55c30a0f443b532 30-Sep-2015 Magnus Jedvert <magjed@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> Add RTC_ prefix to (D)CHECKs and related macros.

We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9964}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
207370f0a2853cc79fb0e0a18cf96ae5c1748c28 16-Sep-2015 Magnus Jedvert <magjed@webrtc.org> Android MediaCodecVideoDecoder: Remove redundant useSurface arguments

This CL should not do any functional changes. It removes some redundant arguments and unnecessary error checking.

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

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

Cr-Commit-Position: refs/heads/master@{#9950}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
4d2f4d1c6997b4218774cac10527e1cdb88f20d9 02-Sep-2015 Alex Glaznev <glaznev@google.com> - 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}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
782671f7983e27be865f04f546fbfc3f1cb4e1b3 13-Jun-2015 Alex Glaznev <glaznev@google.com> Improve Android HW decoder error handling.

- Remove an option to use MediaCodec SW decoder from Java layer.
- Better handling Java exceptions in JNI - detect exceptions
and either try to reset the codec or fallback to SW decoder.
- If any error is reported by codec try to fallback to SW
codec for VP8 or reset decoder and continue decoding for H.264.
- Add more logging for error conditions.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9431}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
eb66e800d1f5f74ab366715d2618fbede8cf3e12 05-Jun-2015 Peter Boström <pbos@webrtc.org> Re-land "Convert native handles to buffers before encoding."

This reverts commit a67675506c9057bd9ffd4d76aae8b743343d434d.

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

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

Cr-Commit-Position: refs/heads/master@{#9381}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
308d163c715df7b4348a1e00bf2a6761c0adb689 02-Jun-2015 Peter Boström <pbos@webrtc.org> Revert "Convert native handles to buffers before encoding."

This reverts commit a831dc3a7d10a1fbaa258ee6b1ca6cfc7e91c5ca to unblock
rolling into Chromium.

BUG=4081
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9354}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
a831dc3a7d10a1fbaa258ee6b1ca6cfc7e91c5ca 01-Jun-2015 Peter Boström <pbos@webrtc.org> Convert native handles to buffers before encoding.

Required to permit conversion of NV12 handles on iOS to I420 for VP8
software encoding, which blocks texture-based capture. This change
enforces that all texture-based input provides a method for converting
native handles to I420 if they are ever used with software encoders that
do not understand the native handles.

BUG=4081
R=emircan@chromium.org, glaznev@webrtc.org, hbos@webrtc.org, magjed@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9347}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
4765070b8d6f024509c717c04d9b708750666927 30-May-2015 Miguel Casas-Sanchez <mcasas@webrtc.org> Rename I420VideoFrame to VideoFrame.

This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9339}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
9b3f56ea055934a5d5416db0386c857494410acc 09-Apr-2015 Per <perkj@chromium.org> Reland "Remove usage of webrtc::NativeHandle since is just adds an extra level of indirection.""
This reverts commit e41d774c4d0a60066866fc2d0ae48dd0e839ff23.

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

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

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

BUG=1128

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

Cr-Commit-Position: refs/heads/master@{#8956}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
e41d774c4d0a60066866fc2d0ae48dd0e839ff23 07-Apr-2015 Per <perkj@chromium.org> Revert "Remove usage of webrtc::NativeHandle since is just adds an extra level of indirection."

This reverts commit 75db8612588b4fabdf1b05f4ab145f7737093b45.

Revert "Fix build breakage in WrappedI420Buffer::native_handle()"

This reverts commit 3211934ebf7cac3e6df2cb4aacb6e47cc1cffe2b.

Reason for revert: Breaks chrome build and tests on clank, See https://codereview.chromium.org/1067803002/

BUG=1128
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8940}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
75db8612588b4fabdf1b05f4ab145f7737093b45 07-Apr-2015 Per <perkj@chromium.org> Remove usage of webrtc::NativeHandle since is just adds an extra level of indirection.

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

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

Cr-Commit-Position: refs/heads/master@{#8932}
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
2056ee3e3c7683ae4b2c4b12da99c3105c4f46a9 16-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Revert "Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*."

This reverts commit r8731.

Reason for revert: Breakes Chromium FYI bots.

TBR=hbos, tommi

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

Cr-Commit-Position: refs/heads/master@{#8733}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8733 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
93d9d6503e2bf2526af2b1c2cc46ef242b9843aa 16-Mar-2015 hbos@webrtc.org <hbos@webrtc.org> I420VideoFrame.CreateFrame: Removed unnecessary buffer size arguments.

R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8732}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8732 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
2dc5fa69b2baef2ece158c9e1285516087faaa53 16-Mar-2015 hbos@webrtc.org <hbos@webrtc.org> Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*.

R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8731}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8731 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
45cdcce5f5c34d9321915473d8a0daafcf3abf78 06-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Remove TextureVideoFrame

TextureVideoFrame is currently an empty shell that only provides a convenience constructor of I420VideoFrame with a texture buffer. This CL moves that constructor, and all unittests, of TextureVideoFrame into the base class. Then it's possible to completely remove TextureVideoFrame and all its files. Also, there is no point in having I420VideoFrame virtual anymore.

R=pbos@webrtc.org, perkj@webrtc.org, stefan@webrtc.org
TBR=mflodman

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

Cr-Commit-Position: refs/heads/master@{#8629}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8629 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
a4623d26d74f93591d442323bae9312eb7f07f51 25-Feb-2015 glaznev@webrtc.org <glaznev@webrtc.org> Fix H.264 HW decoding for Qualcomm KK devices.

- Qualcomm H.264 HW decoder on KK and older requires
a few video frames before it can generate output. Increase
maximum allowed pending frames for H.264 decoder to 30.
Plus changes in the logging to track decoder buffers
timestamps.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8490}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8490 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
b28474c7a0356f21b374f43a51602ed10f143bf4 23-Feb-2015 glaznev@webrtc.org <glaznev@webrtc.org> Add H.264 HW encoder and decoder support for Android.

- Allow to configure MediaCodec Java wrapper to use VP8
and H.264 codec.
- Save H.264 config frames with SPS and PPS NALUs and append them to every key frame.
- Correctly handle the case when one encoded frame may generate several output NALUs.
- Add code to find H.264 start codes.
- Add a flag (non configurable yet) to use H.264 in AppRTCDemo.
- Improve MediaCodec logging.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8465}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8465 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
18c92472dfb12315eb01fb83e01ceebe58e200e6 18-Feb-2015 glaznev@webrtc.org <glaznev@webrtc.org> Move Android MediaCodec encoder and decoder factories to separate files.

Move Android media encoder and media decoder factories from
peerconnection_jni.cc to androidmediaencoder_jni.cc and
androidmediadecoder_jni.cc

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8417}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8417 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc