41 Commits

Author SHA1 Message Date
Henrik Kjellander
352595459d Use short include paths for icu headers.
This makes it possible to build with icu located
in another absolute path.

BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9063}
2015-04-23 06:58:02 +00:00
guoweis@webrtc.org
5a7dc39277 This is a code clean up. No functional change intended.
Consolidate the enum for capturer/frame rotation we use through out the code base.

BUG=4145
R=mflodman@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8365}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8365 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 14:32:13 +00:00
pkasting@chromium.org
4591fbd09f Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.

This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.

BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
glaznev@webrtc.org
053c6abf8d Fix N7 camera aspect ratio.
N7 video preview generates stretched output:
https://code.google.com/p/android/issues/detail?id=70830.
To workaround the problem set camera picture size in
addition to video preview size with the same resolution.

BUG=3971
R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7581 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 16:58:58 +00:00
glaznev@webrtc.org
d0cf68ee37 Add 15 fps support for Android devices with missing 15 fps
camera mode.

Some latest Android devices support only 30 fps for front camera,
but HW VP8 encoder performance is not enough for 720p 30 fps
encoding. Add 15 fps support for these devices by allowing
frame drop in Android camera wrapper.

BUG=
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7571 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 18:38:26 +00:00
glaznev@webrtc.org
f7030d4ed7 Query Android device orientation on every camera frame received.
Remove orientation listener from Android camera, since device
orientation change events are not well synchronized with actual
device display orientation. Plus these event may not be delivered
at all if device is in stationary position causing initial camera
frames appear rotated.

BUG=
R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7467 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 16:25:06 +00:00
braveyao@webrtc.org
0a256acb67 Getting orientation is not working properly. VideoCaptureImpl::RotationFromDegrees returns -1 in case fails not 0. So we need to change the if statement.
BUG=3869
TEST=Manual
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7311 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-26 22:50:06 +00:00
glaznev@webrtc.org
91ee7468dd Add enable flag for Android device orientation change event.
There are reports (not reproducible with appRtcDemo) that
outstanding device orientation change event
OrientationEventListener.onOrientationChanged can be
triggered even after these events are disabled by
OrientationEventListener.disable() code.
Avoid calling native code in this case since underlying
C++ class may have already been deleted.

BUG=3564
R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7172 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-12 16:48:12 +00:00
glaznev@webrtc.org
3472dcd7b0 Fix frame rate selection for Android camera.
- Android camera supports multiple fps values for a single video
resolution - change video source default video format selection
to pick up best available fps.
- Change fps range calculation to better match target fps value.

BUG=2622
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7142 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-10 19:24:57 +00:00
kjellander@webrtc.org
b96ea2aab5 Remove former team members from OWNERS and WATCHLISTS
Remove the following (CCed) former team members from all
OWNERS files and the WATCHLISTS file:
* fischman@
* leozwang@
* mikhal@
* pwestin@
* wu@

BUG=
R=henrike@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6973 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 06:12:08 +00:00
glaznev@webrtc.org
a4da771914 Fix deadlock in Android stopCapture() call.
BUG=3467
R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6673 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 17:01:53 +00:00
glaznev@webrtc.org
a24d366e1c - Exit from a camera thread lopper loop() method only after all camera release calls are completed. This fixes camera exceptions observed from time to time when calling camera functions on a terminated looper.
- Allocate real texture for camera preview.
- Add fps and camera frame duration logging.
- Get camera frame timestamp in Java code and pass it to jni code  so the frame timestamp is assigned as soon as possible. Jni code will not use these timestamps yet until timestamp ntp correction and zeroing in webrtcvideengine.cc will be addressed.

R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6513 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 20:55:54 +00:00
braveyao@webrtc.org
0b893b1e05 Do not hold the critical section in VideoCaptureAndroid::SetCaptureRotation since it would case possible deadlock with OS Camear thread.
BUT=3464
TEST=Manual Test with WebRTCDemo
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6509 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 16:00:30 +00:00
fischman@webrtc.org
24c1778651 Revert r6358 "AppRTCDemo(Android): only stop the cameraThread's looper after stopping the camera."
Makes stopping flakier for some reason :/

BUG=
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6361 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 22:24:40 +00:00
fischman@webrtc.org
171d94177b AppRTCDemo(Android): only stop the cameraThread's looper after stopping the camera.
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6358 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 21:22:37 +00:00
fischman@webrtc.org
b464618c84 Unbreak NDEBUG compile by RTC_UNUSED()ing an assert()d variable.
TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6357 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 20:13:49 +00:00
fischman@webrtc.org
9512719569 AppRTCDemo(android): support app (UI) & capture rotation.
Now app UI rotates as the device orientation changes, and the captured stream
tries to maintain real-world-up, matching Chrome/Android and Hangouts/Android
behavior.

BUG=2432
R=glaznev@webrtc.org, henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6354 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 18:40:44 +00:00
fischman@webrtc.org
360507b12b VideoCaptureAndroid: don't synchronized on camera thread.
BUG=3421
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6295 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 23:17:38 +00:00
fischman@webrtc.org
d6a0efdc86 VideoCaptureAndroid: quit & join the camera thread on stopCapture.
Also fix latent bug where setPreviewRotation() wouldn't hold
the lock while its delegate setPreviewRotationOnCameraThread()
was running, allowing the camera to be freed between the
null-check and the use.

BUG=3389
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6266 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 18:37:07 +00:00
braveyao@webrtc.org
7cb4752184 WebRTCDemo: couldn't run a second time. The reason is voe could register/unregister for each run, but vie would expect initialization only once per process.
This cl is to teach videocapture android how to deinitialize and allow it to be re-initializable.

BUG=3284
TEST=ManualTest
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6167 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 03:18:15 +00:00
fischman@webrtc.org
b0b135e4c2 VideoCaptureAndroid: support multiple frame-rates per resolution.
Also enables running video_capture_tests_apk on the WebRTC/Chromium APK bots,
assuming GYP_DEFINES includes include_tests=1 and
include_internal_video_capture=1.
This required running VideoCaptureAndroid's camera capture on a dedicated thread, matching other platform's video_capture impls.

BUG=2974,3152
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5868 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 01:18:32 +00:00
fischman@webrtc.org
f4c9444c65 VideoCaptureAndroid: stop referencing ViERenderer
To facilitate building video_capture's java code without video_render's java
code this reorganizes the local-preview hack to be driven by MediaEngine.
This is the "first step" in the linked bug.

BUG=3175
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5865 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 22:55:07 +00:00
fischman@webrtc.org
7bd4a27502 VideoCaptureAndroid: don't deliver frames after stopCapture().
Because stopCapture() and onPreviewFrame() are called on different threads, and
are both synchronized, it's possible for onPreviewFrame() to commence execution
after stopCapture() has completed, causing a SEGV because the native code is no
longer prepared to accept frames.
Clarify the contract around synchronized methods in this class to hopefully
avoid similar bugs in future.

BUG=2947
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5639 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 18:17:55 +00:00
fischman@webrtc.org
932b0193e7 VideoCaptureAndroid: stop preview in opposite order of starting.
While the SDK documentation doesn't prescribe a required shutdown order, good
hygiene suggests stopping should happen in reverse order of starting.  It also
seems to relieve a crash in the system capturer on at least the Galaxy Note 10.

BUG=2793
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5445 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-27 22:32:05 +00:00
fischman@webrtc.org
4598380860 Android: enable camera video stabilization when available.
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4929 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 20:14:19 +00:00
fischman@webrtc.org
4e65e07e41 VideoCaptureAndroid: rewrote the (standalone) implementation of video capture on Android.
Besides being ~40% the size of the previous implementation, this makes it so
that VideoCaptureAndroid can stop and restart capture, which is necessary to
support onPause/onResume reasonably on Android.

BUG=1407
R=henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4915 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:23:13 +00:00
fischman@webrtc.org
69fc315fd9 Convert DeviceInfoImpl::_captureCapabilities from a map to a vector.
The map was just mapping an index to a pointer of a POD, so the code is easily
simplified by using a vector (with implicit index key) and the POD as a value.
(also fixes a leak in the windows code, which lacked a virtual dtor for
VideoCaptureCapabilityWindows but was deleting through a base pointer).

R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4840 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 17:01:42 +00:00
pbos@webrtc.org
4ca7d3f9fe Replace MapWrapper with std::map<>.
MapWrapper was needed on some platforms where STL wasn't supported, we
now use std::map<> directly.

BUG=2164
TEST=trybots
R=henrike@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4530 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 19:51:57 +00:00
pbos@webrtc.org
a9b74ad716 Include files from webrtc/.. paths in video_capture/.
BUG=1662
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4337 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-12 10:03:52 +00:00
fischman@webrtc.org
546c91dc2e Build all java files into jar for each module on Android
BUG=None
TEST=All java files in each module are built into jar and used by WebRTCDemo app
R=fischman@webrtc.org, niklas.enbom@webrtc.org

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

Patch from Jeremy Mao <yujie.mao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4284 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-01 17:52:39 +00:00
fischman@webrtc.org
dd97ef4e28 Revert 4211 "Build all java files into jar for each module on An..."
Reason for revert: behold the meltdown of the "trunk" bots on http://build.chromium.org/p/chromium.webrtc.fyi/waterfall

Turns out that include in gyp is fraught with peril: https://code.google.com/p/gyp/wiki/InputFormatReference#Including_Other_Files

> Build all java files into jar for each module on Android
>
> BUG=
> R=fischman@webrtc.org, niklas.enbom@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/1636004
>
> Patch from Jeremy Mao <yujie.mao@intel.com>.

TBR=fischman@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4222 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-12 17:39:29 +00:00
fischman@webrtc.org
1374965680 Build all java files into jar for each module on Android
BUG=
R=fischman@webrtc.org, niklas.enbom@webrtc.org

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

Patch from Jeremy Mao <yujie.mao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4211 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-10 23:34:27 +00:00
fischman@webrtc.org
8d6eb56085 Avoid NPE crash on Android platforms that don't support getting preview framerate.
- catch Camera.setParameters() signaling errors through RuntimeException (!)
- make video_demo_apk rebuild when .java sources change

BUG=1778
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4059 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 17:33:31 +00:00
fischman@webrtc.org
77d59fe408 WebRTCDemo: no-op out instead of NPEing on destroyed camera.
BUG=1617

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3812 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 17:11:51 +00:00
pbos@webrtc.org
dfc5bb9c97 WebRtc_Word32 -> int32_t in video_capture/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3811 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 08:23:13 +00:00
fischman@webrtc.org
add50b94a5 WebRTCDemo: remove unnecessary stop & start during orientation change which isn't necessary since API v14.
(required bumping minSdkVersion to 14)

This fixes a RuntimeException thrown on GalaxyNexus (but not N7, N4, or NS)
during startPreview() after the sequence of Start(), Stop(), Start(); seemingly
GN's OMX stack can't deal with parallel startPreview() & setPreviewDisplay() in
this situation.

Also:
- Only set the surface in the camera when valid
- Remove duplicate assignment
- Fix error check on voiceChannel allocation to account for multiple channel creation due to orientation change causing onDestroy()/onCreate() on the app, and rampant use of process-static holders for VoE data.

BUG=1537

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3731 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-27 16:48:34 +00:00
fischman@webrtc.org
0e3077ab1f Restart Android capture after orientation change.
Also prevent an NPE on exit.

BUG=1537

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3723 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-25 22:08:51 +00:00
fischman@webrtc.org
73ec386d8a VideoCaptureAndroid can now capture just buffers without also rendering to a SurfaceView.
This saves ~15% CPU on a Nexus 7 running AppRTCDemo.

BUG=1169

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3596 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-03 17:28:03 +00:00
fischman@webrtc.org
f61e02c81f Misc cleanups to webrtc/android code:
- Replace some deprecated calls/enums with their more modern equivalents.
- Clean up some usage of global data and/or hide it better
- Catch specific exceptions instead of Exception, and log the exception instead
  of just its message.
- Random log message cleanups
- Added a build_with_libjingle gyp variable to mimic build_with_chromium for
  when webrtc is built as part of a libjingle project but not part of chromium.

BUG=webrtc:1169
TEST=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3554 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 23:13:46 +00:00
leozwang@webrtc.org
06d72d881f Add Android OWNER files
Message:
Add OWNER files so I can review and approve changes for Android.
I also should be owner for all .mk file, but it's OK for now,
please review.

BUG=None
TEST=None
Review URL: https://webrtc-codereview.appspot.com/932016

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3069 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-09 17:51:55 +00:00
andrew@webrtc.org
94caca7105 Reorganize modules/video_capture.
- The usual elimination of main/source etc.
- Fully qualify "public" includes.
- Use lowercase for all directory names.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3025 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-30 21:58:00 +00:00