28 Commits

Author SHA1 Message Date
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