History log of /external/webrtc/talk/app/webrtc/androidvideocapturer.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
71f5a9a37750d6ccea110028e3154ee90334ba6d 11-Dec-2015 Per <perkj@chromium.org> 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}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
a3c20bb9a096495c5f8a876329b5edcedcf04ab8 26-Nov-2015 Per <perkj@chromium.org> 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}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
7755e2064b5b8add2ff0c9d0b5d3fb34ee1726d1 19-Nov-2015 perkj <perkj@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
30a5b5e9fb574016ced1a45ae43921c1a01860a0 20-Oct-2015 olka <olka@webrtc.org> passing |buffer| by reference in AndroidVideoCapturer::OnIncomingFrame

BUG=webrtc:5062

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

Cr-Commit-Position: refs/heads/master@{#10342}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
ac30642461c4f94916741106e3ba3f3b7b670a47 08-Oct-2015 perkj <perkj@webrtc.org> Native changes for VideoCapturerAndroid surface texture support
These are the necessary changes in C++ related to the video capturer necessary to capture to a surface texture.
It does not handle scaling / cropping yet though.

BUG=
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10218}
/external/webrtc/talk/app/webrtc/androidvideocapturer.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/androidvideocapturer.cc
b09b660c53ff2c499d149e05e5c435f5057273fc 01-Oct-2015 magjed <magjed@webrtc.org> 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}
/external/webrtc/talk/app/webrtc/androidvideocapturer.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/androidvideocapturer.cc
a6cba3ab5c899339d577adf1824e0e007c12863e 29-Aug-2015 Magnus Jedvert <magjed@webrtc.org> Java VideoRenderer.Callbacks: Make renderFrame() interface asynchronous

This CL makes the Java render interface asynchronous by requiring every call to renderFrame() to be followed by an explicit renderFrameDone() call. In JNI, this is implemented with cricket::VideoFrame::Copy() before calling renderFrame(), and a corresponding call to delete in renderFrameDone(). This CL is primarily done to prepare for a new renderer implementation.

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

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

Cr-Commit-Position: refs/heads/master@{#9814}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
6ec1f921b1186127467393dc82c0a786e0de4e2b 28-Aug-2015 Magnus Jedvert <magjed@webrtc.org> AndroidVideoCapturer: Delegate framerate choice to VideoCapturerAndroid.java

webrtc::VideoSource resolves the kMaxFrameRate constraint by capping the desired framerate to kMaxFrameRate. That framerate is then passed into cricket::VideoCapturer::GetBestCaptureFormat(). The default implementation will choose a format from the supported formats list. Instead, we should override this function in AndroidVideoCapturer to give VideoCapturerAndroid.java the opportunity to choose a suitable framerate range.

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

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

Cr-Commit-Position: refs/heads/master@{#9805}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
c464f504dcb40ad40b5258875493f12783bd5fda 25-Aug-2015 Magnus Jedvert <magjed@webrtc.org> AndroidVideoCapturerJni: Fix threading issues

The primary fix in this CL is to remove the dangling |thread_| pointer in AndroidVideoCapturerJni. That thread is not safe to use after Stop() has been called. Even after Stop() has been called, we must still be able to return late frames to Java in order to not leak them, so that path has been made thread safe instead. To make sure that we always return frames, the Java frame should be wrapped in a scoped_refptr as quickly as possible, so this CL moves the wrapping from AndroidVideoCapturer to AndroidVideoCapturerJni. This also removes the need for the interface function AndroidVideoCapturerDelegate::ReturnBuffer().

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

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

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

Cr-Commit-Position: refs/heads/master@{#9784}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
fcf8ece6ba1d170fc70a457d93b35eccb3074022 06-Aug-2015 magjed <magjed@webrtc.org> AndroidVideoCapturer: Return frames that have been dropped

Currently, we only return frames if CreateAliasedFrame() is called, which is not the case for dropped frames.

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

Cr-Commit-Position: refs/heads/master@{#9683}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
b69ab79338bff71ea411b82f3dd59508617a11d5 22-Jul-2015 magjed <magjed@webrtc.org> VideoCapturerAndroid: Add function to change capture format while camera is running

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

Cr-Commit-Position: refs/heads/master@{#9608}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
2b679250fbd50b3c8d9ac266a42fbc8a1bd84167 15-Jun-2015 Åsa Persson <asapersson@webrtc.org> VideoCapturerAndroid: Add possibility to request a new resolution from the video adapter.

BUG=
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9434}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
2f5be9ad630dfe499a3e2fc64c6178143acddb84 19-May-2015 Alex Glaznev <glaznev@google.com> Improve Android camera error handling.

- Set Camera.ErrorCallback callback when opening camera to
receive camera server error notifications.
- Allow user to provide interface for handling camera errors
happening on camera thread.
- Run camera observer on camera thread and monitor camera fps
and amount of callback buffers, print statistics and report error
if camera stops generating frames.
- Query camera formats starting from front camera instead of back
camera to detect camera failures as fast as possible.
- Change all DCHECK to CHECK in androidvideocapturer.cc to detect
camera error on release builds.
- Plus adding some extra logging.

R=hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9221}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
09a9ea888620a683c891ce3e67bfaa40cc8dc6c2 17-Apr-2015 Henrik Boström <hbos@webrtc.org> Supporting formats of non-multiple of 16 widths on Android.

This is an updated version of perkj's issue (https://webrtc-codereview.appspot.com/44129004/) which was reverted due to libjingle_peerconnection_android_unittest crashing on Nexus 9. It crashed because there was old test code still assuming the width was multiple of 16 (which was only a problem on devices with non-16 widths).

BUG=4522
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9029}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
eba964f472ab28f29363c253e7ccb872d7995961 11-Apr-2015 Bjorn Volcker <bjornv@webrtc.org> Revert "Support none multiple of 16 pixels width on android."

Buildbot Android Tests (L Nexus9)(dbg) consistently fails on Instrumentation test libjingle_peerconnection_android_unittest (VideoCapturerAndroidTest) after this CL was landed.

This reverts commit f4acf46c863f2d516b09b00b39608de7e506ac65.

BUG=
TBR=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8981}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
f4acf46c863f2d516b09b00b39608de7e506ac65 10-Apr-2015 Per <perkj@chromium.org> Support none multiple of 16 pixels width on android.

BUG=4522
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8977}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
3354419a2d53c3bfee8077cfbb0d86022b03e94a 02-Apr-2015 Per <perkj@chromium.org> Zero copy AndroidVideeCapturer.
This cl uses the YV12 buffers from Java without a copy if no rotation is needed. Buffers are returned to the camera when the encoder and renderers no longer needs them.

This add a new frame type WrappedI420Buffer based in that allows for wrapping existing memory buffers and getting a notification when it is no longer used.

AndroidVideoCapturer::FrameFactory::CreateAliasedFrame wraps frame received from Java. For each wrapped frame a new reference to AndroidVideoCapturerDelegate is held to ensure that the delegate can not be destroyed until all frames have been returned.

Some overlap exist in webrtcvideoframe.cc and webrtcvideengine.cc with https://webrtc-codereview.appspot.com/47399004/ that is expected to be landed before this cl.

BUG=1128
R=glaznev@webrtc.org, magjed@webrtc.org
TBR=mflodman@webrtc.org // For changes in webrtc/common_video/video_frame_buffer

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

Cr-Commit-Position: refs/heads/master@{#8923}
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
1d82813961d49e1a433024221b6f7164856635ec 03-Mar-2015 perkj@webrtc.org <perkj@webrtc.org> Reland "Fix CVO in androidvideocapturer".

This cl was originally revieved in https://webrtc-codereview.appspot.com/40759004/

Patchset 2 adds a unittest for VideoFrame::Reset with and without the apply_rotation flag set.

BUG=4145
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8564}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8564 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
73acc15c69e74db7abcce7b2a27e192326bf2498 28-Feb-2015 aluebs@webrtc.org <aluebs@webrtc.org> Revert 8538 "Reland "Fix CVO in androidvideocapturer."""

> Reland "Fix CVO in androidvideocapturer.""
> This reverts commit b8bcf8cbbf84971e2ae26d91659afdc58617b054.
> after I fixed a rebase mistake. The fix is the delta between patchset 1 and 2.
>
> The original cl was reviewed here:
> https://webrtc-codereview.appspot.com/40759004/
>
> TBR=magjed@webrtc.org
>
> BUG=4145
>
> Review URL: https://webrtc-codereview.appspot.com/45409004

TBR=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8539}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8539 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
3a93e33c56d1c88cd4ebcec272e374725065a9c1 27-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Reland "Fix CVO in androidvideocapturer.""
This reverts commit b8bcf8cbbf84971e2ae26d91659afdc58617b054.
after I fixed a rebase mistake. The fix is the delta between patchset 1 and 2.

The original cl was reviewed here:
https://webrtc-codereview.appspot.com/40759004/

TBR=magjed@webrtc.org

BUG=4145

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

Cr-Commit-Position: refs/heads/master@{#8538}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8538 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
b8bcf8cbbf84971e2ae26d91659afdc58617b054 27-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Revert "Fix CVO in androidvideocapturer."

This reverts commit 02ed57bf9d12a959d5ec139b3fc49170d16b5f30.
https://webrtc-codereview.appspot.com/40759004/

Reason- breaks tests after rebase.

TBR=magjed@webrtc.org

BUG=4145

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

Cr-Commit-Position: refs/heads/master@{#8537}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8537 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
02ed57bf9d12a959d5ec139b3fc49170d16b5f30 27-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Fix CVO in androidvideocapturer.

This add bool apply_rotation to WebrtcVideoFrame::Init and removes the need for WebrtcVideoFrame::SetRotation.

BUG=4145
R=guoweis@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8536}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8536 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
112f127170193bf022565b112b03827c025168b6 25-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Refactor how VideoCapturerAndroid delivers frames and is stopped.
With this cl, video buffers are now allocated using direct buffers.
These buffers are guaranteed to live as long as the capturer is running.
We can now post frames in c++ from the Java thread to the c++ worker thread and let c++ post the buffers back when it has finished
processing them.

This cl also reverts back to make Stop asynchronouse so that it is guaranteed that the c++ worker thread is not used and no frames are delivered to VideoCapturerAndroid after Stop completes.

BUG=4318
TESTED= On a N5, N6, N9 and Samsung device.
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8493}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8493 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
2ad3bb17a7e0e83ae802ef62933325bce8041966 23-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Reland patch for Switch default color format to YV12 on Android.
The new since the previous patch is that we ignore all resolutions with width % 16 != 0
since they are not tightly packed.

http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12

R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8459}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8459 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
3db042e2f09f1df7d8b5d40f30766f780848ecd9 19-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Stop AndroidVideoCapturer asynchronously.
The purpose is to avoid a deadlock between the C++ thread calling Stop and the Java thread that provides video frames.

BUG=4318
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8425}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8425 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
8fbdcfd73f22a76747cc33aa12c46b8240948258 18-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Revert "Switch default color format to YV12."

This reverts commit 1c3e728aa9b886fd3ee008a5aed956759bc3f82d.

Reason: Fails test running on Nexus 9 bots - org.webrtc.VideoCapturerAndroidTest#testStartStopWithDifferentResolutions.
Note that all other tests pass so it seems like there is resolution supported by the device that can't use YV12.

TBR=glaznev@webrtc.org
BUG=4011

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

Cr-Commit-Position: refs/heads/master@{#8414}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8414 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
1c3e728aa9b886fd3ee008a5aed956759bc3f82d 18-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Switch default color format to YV12.
Currently N21 is used per default. But according to
http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12
YV12 has been mandatory to support since api level 12.
Since YV12 and I420 is the same except for the order of planes, this format is cheaper to use.

Tested on N5, N6 and a Samsung device.

BUG=4011
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8411}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8411 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
8f605e89113ccdd02a5d68edf8e7a048ab0fdaff 17-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Add VideoSource::Stop and Restart methods.
The purpose is to make sure that start and stop is called on the correct thread on Android. It also cleans up the Java VideoSource implementation.

BUG=4303
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8389}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8389 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/app/webrtc/androidvideocapturer.cc
83bc721c7e1760ce7f96eed11a5351fa3154f523 11-Feb-2015 perkj@webrtc.org <perkj@webrtc.org> Add Android specific VideoCapturer.
The Java implementation of VideoCapturer is losely based on the the work in webrtc/modules/videocapturer.

The capturer is now started asyncronously.
The capturer supports easy camera switching.

BUG=
R=henrika@webrtc.org, magjed@webrtc.org

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

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