206 Commits

Author SHA1 Message Date
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
c502df54f8 Merge the supporting to UYVY on Linux video capture in crbug/410202 to webrtc standalone.
BUG=3765
TEST=Manual
R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7427 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 02:13:00 +00:00
braveyao@webrtc.org
651c05e4fc Release _inputSendPin & _outputCapturePin before _captureFilter & _sinkFilter since they should depend on the filters.
The previous steps work fine for all the webcam, but have problem on SplitCam driver as in the issue report.
Anyway it's always good to de-initial with the reversing order to initialization.

BUG=3845
TEST=Manual
R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7426 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 02:11:55 +00:00
kjellander@webrtc.org
f21ea918ad GN: Add common configs to all targets.
This is needed to ensure we have the same build with GN
as with GYP, since GYP includes the common.gypi on a global level.
Several fixes has been needed in the past because some code have
been built without the right defines.

BUG=3441
R=brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7317 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-28 17:37:22 +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
pbos@webrtc.org
faf2410a32 gn: Hide modules/video_capture:video_capture_internal_impl behind an arg
R=andresp@webrtc.org, brettw@chromium.org, kjellander@webrtc.org, pbos@webrtc.org, brettw

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

Patch from Cem Kocagil <ckocagil@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7274 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-23 12:37:06 +00:00
tkchin@webrtc.org
143ffa4bd5 Update iOS video capture to use non-deprecated APIs.
BUG=3626
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7229 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 21:44:54 +00:00
andresp@webrtc.org
611606297e Trying to fix Chrome FYI bots.
BUG=3831
TBR=perkj

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7223 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 15:50:05 +00:00
andresp@webrtc.org
c7134f8286 Fix proper deps in BUILD.gn files.
This should make Chrome GN bots happy.

R=kjellander@webrtc.org
TBR=kjellander@webrtc.org
BUG=3768, 3770

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7219 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 10:06:54 +00:00
andresp@webrtc.org
3bd5603b18 Revert "Disable video_capture_tests for Android." (revision 7023).
BUG=3768
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7210 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 11:56:25 +00:00
andresp@webrtc.org
a74eda1b6f Split video_capture_module specific implementation (external vs internal capture)
into its own targets. Dependencies must link directly with the desired one.

Targets linking with libjingle_media:
 - internal implementation when build_with_chromium=0, default otherwise.

Targets linking with default/external capture implementation:
 - anything dependent on webrtc_test_common
 - anything dependent on video_engine_core

Targets linking with internal capture implementation:
 - vie_auto_test
 - anything dependent on webrtc_test_renderer

GN changes:
 - Not many since there is almost no test definitions.

TESTED: passes all the bots. If this inadvertently breaks a target please fix the linking rules so the target has the desired implementation linked in.

BUG=3768
R=glaznev@webrtc.org
TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7209 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 11:50:19 +00:00
andresp@webrtc.org
85ef770d92 Split video engine android initialization into each internal module initialization.
This is to later on allow targets to pick at link time if to include the external or internal implementation. In order to do that the video_engine cannot compile different based on which option is picked later on.

BUG=3768,3770
R=glaznev@webrtc.org, stefan@webrtc.org
TBR=henrike@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7208 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 11:44:51 +00:00
andrew@webrtc.org
6ae5a6d7fe Add a target for the approved subset of rtc_base.
rtc_base drags in a bunch of unwieldly dependencies (e.g. nss and
json) not required for standalone webrtc (aka rtc/media). The root of
the problem appears to be that MessageQueue depends on a socket server.
(And since common.h -> logging.h -> thread.h -> messagequeue.h, this
dependency spreads quickly.)

This starts a new target for a "purified" subset of rtc_base. It adds
the files which are already being used, replacing the use of common.h
with checks.h. desktop_capture is a lost cause, and retains its
dependency on the full rtc_base.

The hope is that as additional components are desired they will be
cleaned and added to rtc_base_approved.

BUG=3806
R=andresp@webrtc.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7188 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-16 01:03:29 +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
6d08ca6379 GN: Prefix WebRTC specific variables with "rtc_"
BUG=3441
TESTED=Trybots + Running GN in a Chromium checkout with
src/third_party/webrtc symlinked to the WebRTC checkout
with this CL applied, both with the default GN settings
and using: --args="os=\"android\" cpu_arch=\"arm\""

R=brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7095 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-07 17:36:10 +00:00
kjellander@webrtc.org
f68cf93e1b Add video_capture_tests_apk_target
In https://codereview.chromium.org/500423004/ the
target that was previously used to build the Android APK
tests was removed. When building these tests from a
standalone checkout, the video_capture_tests_apk target
was missing in the chain of targets that gets generated
into the 'all' target.

BUG=3764
TESTED=Trybots.
TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7094 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-07 17:35:51 +00:00
kjellander@webrtc.org
0372b93118 Partial revert of r7014 (Android APK refactor)
This reverts selected parts of r7014 to enable
rolling WebRTC in Chromium DEPS.

This works around the problem with GYP includes
being processed in the first pass (i.e. variables
cannot be used for paths). Using a dependency with
a path using a variable that is conditioned for
build_with_chromium being 0 or 1 solves the Chromium
build.

These changes will be restored once I've finished
a major GYP refactoring that will break out all
test related code (at least the parts that includes
the Android APK targets) into a separate chain
of GYP targets that are not processed when generating
projects for Chromium (which is why r7014 is breaking
the Chromium build).

BUG=3741
TESTED=Passing compilation of standalone using:
GYP_DEFINES="OS=android component=static_library fastbuild=1 target_arch=arm" webrtc/build/gyp_webrtc
ninja -C out/Debug
Then verified the *_apk  targets are generated and compiled.

Passing compilation from a Chromium checkout with third_party/webrtc
directory removed and a new empty third_party/webrtc mapped to the
standalone checkout using:
sudo mount --bind /path/to/trunk/webrtc third_party/webrtc
Then running build/gyp_chromium
I also verified WebRTC GYP targets exist and are able to compile.

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7040 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 14:34:46 +00:00
kjellander@webrtc.org
324b72dda6 Disable video_capture_tests for Android.
BUG=3768
TESTED=Passing the steps in webrtc:3768
TBR=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7023 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-02 12:37:50 +00:00
kjellander@webrtc.org
76a42577ad Remove build_with_chromium==1 conditions for Android
Most of these changes were done in r7014, but a few targets
were missed. This should make these tests run better
(but they might still be failing due to webrtc:3764).

BUG=webrtc:3741
TESTED=Local compilation using:
GYP_DEFINES="OS=android component=static_library fastbuild=1 target_arch=arm" webrtc/build/gyp_webrtc
ninja -C out/Debug

R=phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7019 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-02 08:40:39 +00:00
kjellander@webrtc.org
3bd4156d75 Android APK tests built from a normal WebRTC checkout.
Restructure how the Android APK tests are compiled now
that we have a Chromium checkout available (since r6938).

This removes the need of several hacks that were needed when
building these targets from inside a Chromium checkout.
By creating a symlink to Chromium's base we can compile the required
targets. This also removes the need of the previously precompiled
binaries we keep in /deps/tools/android at Google code.

All the user needs to do is to add the target_os = ["android"]
entry to his .gclient as described at
https://code.google.com/p/chromium/wiki/AndroidBuildInstructions

Before committing this CL, the Android APK buildbots will need
to be updated.
This also solves http://crbug.com/402594 since the apply_svn_patch.py
usage will be similar to the other standalone bots.
It also solves http://crbug.com/399297

BUG=chromium:399297, chromium:402594
TESTED=Locally compiled all APK targets by running:
GYP_DEFINES="OS=android include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release

checkdeps

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7014 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-01 11:06:37 +00:00
kjellander@webrtc.org
788f0581c7 GN: Implement video_engine, video_capture and video_render.
Also add more from common.gypi to webrtc.gni.

These GN configs are based on GYP files in r6997.

BUG=3441
TEST=Trybots and local compile using:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default

Passed compile from a Chromium checkout with src/third_party/webrtc linked to the webrtc/ dir of a checkout with this patch applied.

R=brettw@chromium.org, glaznev@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6999 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-28 13:51:08 +00:00
pbos@webrtc.org
047a46f8b4 Remove Android.mk build files.
These files are generally not maintained and break, some contain files
that don't exist anymore and do not build anymore. If we need to add
some of these back we should really set up a bot for them.

R=andrew@webrtc.org, glaznev@webrtc.org, henrike@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6974 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 08:48:51 +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
kjellander@webrtc.org
d235eaef25 Suppress deprecation warnings in video_capture for iOS
The chromium_revision roll in r6913 broke the iOS build since the
videoMinFrameDuration and videoMaxFrameDuration properties
have been deprecated in iOS 7.0, which is now the default target
platform for iOS.

BUG=3705
TEST=Passing ios and ios_rel trybots.
TBR=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6914 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-16 20:47:16 +00:00
tkchin@webrtc.org
ff50debd37 Runtime guard for iOS7 property.
BUG=3487
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6733 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 17:17:59 +00:00
tkchin@webrtc.org
4a472fb18d Fixes up rtc so that it compiles on iOS 8 SDK.
Adds support for UIInterfaceOrientationUnknown (new with in SDK) and makes it the same as
UIInterfaceOrientationPortrait.

R=noahric@google.com, tkchin@webrtc.org

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

Patch from David Maclachlan <dmaclach@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6712 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 00:21:59 +00:00
tkchin@webrtc.org
2e3c97ddf5 Compile-time guard for iOS7 specific property.
BUG=3487
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6706 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 19:59:05 +00:00
tkchin@webrtc.org
122caa51b1 After an audio interruption the audio unit no longer invokes its render callback, which results in a loss of audio. Restarting the audio unit post interruption fixes the issue.
CL also replaces deprecated AudioSession calls with equivalent AVAudioSession ones.

BUG=3487
R=glaznev@webrtc.org, noahric@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6697 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 20:20:47 +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
tkchin@webrtc.org
74bf7a6523 Add tkchin@ to OWNERS.
Adding myself to OWNERS of subdirectories containing iOS bits.  Added niklas.enbom@ for audio_device and wu@ for everything else.

R=niklas.enbom@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6578 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 18:38:28 +00:00
kjellander@webrtc.org
1227ab89a7 GN: Add BUILD.gn files + kjellander to OWNERS
This should work as a foundation for all the work that is
left to do to make the parts of WebRTC that Chromium uses
to build with GN.

I implemented some the smaller modules myself in this CL.
The remaining work (TODO's in the .gn files) will be distributed
to various team members.

I'm adding myself to OWNERS files for BUILD.gn files in all the
directories where I'm adding a BUILD.gn file.

BUG=3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default

I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc

R=brettw@chromium.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6523 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 19:21:07 +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
glaznev@webrtc.org
ab23d493e0 Add glaznev@ to OWNERS for webrtc/modules/video_capture and talk/app/webrtc.
Review URL: https://webrtc-codereview.appspot.com/20659004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6436 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 23:31:35 +00:00
kjellander@webrtc.org
a1bfc50a72 Pass GYP DEPTH variable to isolate.
Similar change to https://codereview.chromium.org/322403003/
This will make it possible to handle different
directory levels for special builds of WebRTC, without
breaking GYP when the .isolate files are processed and
their contents is verified.

Also update all our .isolate files to use the <(DEPTH)
variable.

BUG=343106
TEST=Successful compile+test on Linux using:
ninja -C out/Release
tools/swarming_client/isolate.py run -s out/Release/tools_unittests.isolated
Also trybots passing all tests.

R=pbos@webrtc.org
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6427 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 09:02:15 +00:00
kjellander@webrtc.org
7b82c18979 Add kjellander@webrtc.org as OWNER for *.isolate
This should make project-wide changes for isolate files
easier and make it more obvious who's a suitable reviewer
for them.

BUG=
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6379 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 05:42:53 +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
42694c5937 VideoCaptureImpl::IncomingFrame(): avoid deadlock by acquiring _apiCs.
Since VCI::IF() fires a callback it risks a call back into VCI on the same
stack.  Failing to acquire _apiCs before _callbackCs means this is a lock
inversion and deadlock results.  By acquiring _apiCs first no lock inversion
occurs and the deadlock is removed.

BUG=3434
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6353 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 18:28:28 +00:00
henrike@webrtc.org
e6e139159f Android: cleanup gtest_target_type conditions.
Ever since crrev.com/133053 OS==android implies:
gtest_target_type=shared_library

Similar to Chromium's crrev.com/271222 where base.gyp's conditions are changed
(which the affected conditions in this cl comes from).

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6332 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 20:46:50 +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
wuchengli@chromium.org
637c55f45b Add support of texture frames for video capturer.
This is a reland of r6252. The video_capture_tests failure on
builder Android Chromium-APK Tests should be flaky.

- Add ViECapturer unittest.
- Add CloneFrame function in I420VideoFrame.
- Encoders do not support texture yet and texture frames
are dropped in ViEEncoder for now.

Corresponding CLs:
https://codereview.chromium.org/277943002
http://cl/66620352

BUG=chromium:362437
TEST=WebRTC video stream forwarding, video_engine_core_unittests,
     common_video_unittests and video_capture_tests_apk.
TBR=fischman@webrtc.org, perkj@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6258 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 07:00:51 +00:00
wuchengli@chromium.org
89e8ffb395 Revert "Add support of texture frames for video capturer."
This reverts commit 83c89cd003be75d7d06ef9a2b139588f08d280ca.

Reason: The Buildbot has detected a new failure on builder
Android Chromium-APK Tests.

BUG=chromium:362437
TBR=fischman@webrtc.org, perkj@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6253 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 14:12:58 +00:00
wuchengli@chromium.org
efe15355ee Add support of texture frames for video capturer.
- Add ViECapturer unittest.
- Add CloneFrame function in I420VideoFrame.
- Encoders do not support texture yet and texture frames
  are dropped in ViEEncoder for now.

Corresponding CLs:
https://codereview.chromium.org/277943002
http://cl/66620352

BUG=chromium:362437
TEST=WebRTC video stream forwarding. Run video_engine_core_unittests and common_video_unittests.
R=fischman@webrtc.org, perkj@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6252 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 12:40:27 +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