Commit Graph

154 Commits

Author SHA1 Message Date
af55ccc054 Add RtcpMuxPolicy support to PeerConnection.
BUG=4611
R=juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#9251}
2015-05-21 14:48:19 +00:00
2f5be9ad63 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}
2015-05-19 17:56:22 +00:00
300eeb68f5 Remove VideoEngine interfaces.
Removes ViE interfaces, _impl.cc files, managers (such as
ViEChannelManager and ViEInputManager) as well as ViESharedData.

Interfaces necessary to implement observers have been moved to a
corresponding header (such as vie_channel.h).

BUG=1695, 4491
R=mflodman@webrtc.org, solenberg@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9179}
2015-05-12 14:51:08 +00:00
64dad838e6 Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
The original change was reverted due to a breakage in the chrome build.
This change includes a fix for this.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9169}
2015-05-11 10:44:20 +00:00
1f629232d5 Revert r9164 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit fd32f35aff8fc28ec084bddc274de284e0422a57.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9165}
2015-05-10 09:06:20 +00:00
fd32f35aff Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit cdb47a4533b7b1e29e803ed6591a68bb1a4f1692.

Contains a tentative fix to the chrome build breakage caused by the
original change.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9164}
2015-05-10 09:03:00 +00:00
cdb47a4533 Revert r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit 208a2294cde839025318f1b3d57559cb0611a4e7.
Breaks the Chrome build.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9161}
2015-05-08 12:03:46 +00:00
208a2294cd Adding a new constraint to set NetEq buffer capacity from peerconnection
This change makes it possible to set a custom value for the maximum
capacity of the packet buffer in NetEq (the audio jitter buffer). The
default value is 50 packets, but any value can be set with the new
functionality.

R=jmarusic@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9159}
2015-05-08 10:58:51 +00:00
cac1b38135 Expose RTCConfiguration to java JNI and add an option to disable TCP
BUG=4585, 4589
R=glaznev@webrtc.org, juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9125}
2015-04-30 19:35:32 +00:00
e6cefb60f8 GYP variables for building expat, icu, libsrtp, usrsctp
This makes the build more flexible when linking against
prebuilt external libraries.

Use existing build_* variables for libyuv and json in talk/
(already in use in webrtc/).

Also make it possible to avoid building the GTK parts of the Linux build.

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

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

Cr-Commit-Position: refs/heads/master@{#9087}
2015-04-27 12:38:37 +00:00
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
908e77bd00 Allow Java code to detect if VP8 and H.264 HW decoding is supported.
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9058}
2015-04-22 16:25:22 +00:00
7c027b64ae Enable more Clang warnings for talk/
BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9053}
2015-04-22 11:21:10 +00:00
61b4d518af Dynamic resolution change for VP8 HW encode.
Off by default for now.

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

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

Cr-Commit-Position: refs/heads/master@{#9045}
2015-04-21 22:29:53 +00:00
c4905fb72a Fix race condition in Android camera JNI code.
AndroidVideoCapturerJni dtor is called on signaling thread
and may destroy JNI global refs while processing late camera
frame arrival in ReturnBuffer_w() in worker thread.

Fix this by waiting for all function invoked on worker thread
to complete in camera JNI dtor.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9037}
2015-04-20 23:54:25 +00:00
8c054154da Add extra logging for Android camera JNI layer.
Plus enabled checks for release version.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9034}
2015-04-20 20:00:35 +00:00
9478437fde rtc::Buffer improvements
1. Constructors, SetData(), and AppendData() now accept uint8_t*,
     int8_t*, and char*. Previously, they accepted void*, meaning that
     any kind of pointer was accepted. I think requiring an explicit
     cast in cases where the input array isn't already of a byte-sized
     type is a better compromise between convenience and safety.

  2. data() can now return a uint8_t* instead of a char*, which seems
     more appropriate for a byte array, and is harder to mix up with
     zero-terminated C strings. data<int8_t>() is also available so
     that callers that want that type instead won't have to cast, as
     is data<char>() (which remains the default until all existing
     callers have been fixed).

  3. Constructors, SetData(), and AppendData() now accept arrays
     natively, not just decayed to pointers. The advantage of this is
     that callers don't have to pass the size separately.

  4. There are new constructors that allow setting size and capacity
     without initializing the array. Previously, this had to be done
     separately after construction.

  5. Instead of TransferTo(), Buffer now supports swap(), and move
     construction and assignment, and has a Pass() method that works
     just like std::move(). (The Pass method is modeled after
     scoped_ptr::Pass().)

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

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

Cr-Commit-Position: refs/heads/master@{#9033}
2015-04-20 12:03:00 +00:00
09a9ea8886 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}
2015-04-17 15:31:45 +00:00
f49dbfa5c3 Close all camera resources when camera error happens.
Also add more logs to better track still observed camera
open/close failures.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9020}
2015-04-16 16:11:22 +00:00
9829af4bfc Disable VP8 encoder HW acceleration on NVidia devices.
NVidia HW encoder bitrate control is allowing too much
bitrate fluctuation. Plus average encoding time is not enough
for 720p 30 fps support.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9014}
2015-04-15 21:58:19 +00:00
575a8024bc Add an option to update mirror flag in Android video renderer.
Plus fixing incorrect mirror matrix for 90 and
270 degree rotations.

BUG=4398
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8993}
2015-04-13 22:24:47 +00:00
eba964f472 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}
2015-04-11 06:55:07 +00:00
e4ae8d8558 Changes in VideoCapturerAndroid.
- Do not handle more than one camera switch request at a time
to avoid blocking camera thread with multiple switch requests.
- Add a callback to notify when camera switch has been done.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8978}
2015-04-10 18:19:57 +00:00
Per
f4acf46c86 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}
2015-04-10 14:45:27 +00:00
Per
9b3f56ea05 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}
2015-04-09 11:44:19 +00:00
9e420afefc Fix potential race conditions in Android video renderer.
- Check texture properties update flag using the same lock under which
the flag value is set.
- Adjust texture properties inside frame queue lock.
- Plus adding extra logging to track video renderer properties updates.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8941}
2015-04-07 17:14:32 +00:00
Per
e41d774c4d 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}
2015-04-07 15:20:56 +00:00
Per
49a862ec4c Return pending buffers to Java VideoCapturerAndroid if camera is stopping
BUG=4510
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8935}
2015-04-07 12:16:14 +00:00
Per
75db861258 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}
2015-04-07 10:50:49 +00:00
Per
3354419a2d 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}
2015-04-02 10:31:00 +00:00
64c1e8cda5 Enable CVO by default through webrtc pipeline.
All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.

Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome

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

Committed: https://crrev.com/1b1c15cad16de57053bb6aa8a916079e0534bdae
Cr-Commit-Position: refs/heads/master@{#8905}

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

Cr-Commit-Position: refs/heads/master@{#8917}
2015-04-01 22:33:15 +00:00
31331cfd2d Revert "Enable CVO by default through webrtc pipeline."
This reverts commit 1b1c15cad16de57053bb6aa8a916079e0534bdae.

Due to failure on
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Release%20%5Blarge%20tests%5D/builds/4092
and following builds (the test hangs and never finishes).
R=kjellander@webrtc.org
TBR=guoweis@chromium.org
TESTED=Local revert + execution of libjingle_peerconnection_java_unittest show that this is the culprit.

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

Cr-Commit-Position: refs/heads/master@{#8911}
2015-04-01 14:20:11 +00:00
1b1c15cad1 Enable CVO by default through webrtc pipeline.
All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.

Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome

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

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

Cr-Commit-Position: refs/heads/master@{#8905}
2015-04-01 02:42:50 +00:00
Per
75a0255627 Handle borked Android cameras gracefully.
It turns out that Camera.getCameraInfo can throw an exception if the camera does not work.

TESTED=added a throw before all calls to Camera.open and Camera.getCameraInfo and made sure APPRtcDemo does not crash.

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

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

Cr-Commit-Position: refs/heads/master@{#8876}
2015-03-27 10:15:27 +00:00
eebcab5ce9 rtc::Buffer: Rename length to size, for conformance with the STL
And add a constructor for creating an uninitialized Buffer of a
specified size.

(I intend to follow up with more Buffer changes, but since it's rather
widely used, the rename is quite noisy and works better as a separate
CL.)

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8841}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8841 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-24 09:20:19 +00:00
4ddc9387bd Support VP8 hardware encoding and decoding on IA devices.
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8812}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8812 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 21:21:17 +00:00
840da7b755 Implement Rotation in Android Renderer.
Make use of rotation information from the frame and rotate it accordingly when we render the frame.

BUG=4145
R=glaznev@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8770

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

Cr-Commit-Position: refs/heads/master@{#8781}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8781 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 16:58:49 +00:00
3fffd66dfa Revert "Implement Rotation in Android Renderer."
This reverts commit 835ec63d8a64bbc8a573a5e0b7a09659188122d2.

TBR=guoweis@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8771}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8771 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 04:20:47 +00:00
835ec63d8a Implement Rotation in Android Renderer.
Make use of rotation information from the frame and rotate it accordingly when we render the frame.

BUG=4145
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8770}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8770 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 02:44:39 +00:00
c04a97f054 Move from BaseSession::GetStats to WebRtcSession::GetTransportStats
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

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

Cr-Commit-Position: refs/heads/master@{#8739}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8739 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 19:32:23 +00:00
2056ee3e3c 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
2015-03-16 13:48:18 +00:00
93d9d6503e 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
2015-03-16 13:26:41 +00:00
2dc5fa69b2 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
2015-03-16 13:02:19 +00:00
c29f7f3a5f Disable assert for nr of threads in PeerConnectionTest.java.
This test is flaky so we need to figure out a better way to do it.
I've documented what we've observed and added a todo for myself to figure out a solution.

R=kjellander@webrtc.org
BUG=4424

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

Cr-Commit-Position: refs/heads/master@{#8725}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8725 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-14 18:15:47 +00:00
00c509ad1c Add concept of whether video renderer supports rotation.
Rotation is best done when rendered in GPU, added the shader code which rotates the frame. For renderers which don't support rotation, the rotation will be done before sending down the frame to render. By default, assume renderer can't do rotation.

Tested with peerconnection_client on windows, AppRTCDemo on Mac.

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

Committed: https://code.google.com/p/webrtc/source/detail?r=8660

Committed: https://code.google.com/p/webrtc/source/detail?r=8661

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

Cr-Commit-Position: refs/heads/master@{#8705}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8705 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 21:38:19 +00:00
d3900296ae Use a variant for storing stats values in StatsCollector code.
This cuts down on the amount of string copying we currently do and paves the way for separating the code that fetches the stats from the code that populates the stats reports.  As is, that code is intertwined, so we populate the stats on both signaling and worker thread.

I'm also adding some documentation and TODOs for further improvements.

BUG=2822
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8700}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8700 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 16:36:15 +00:00
fc516077ed Fix Android AppRTCDemo failure on devices with one or no camera.
- Disable video call on devices with no camera.
- Open default camera and disable camera switch on
devices with one camera.

BUG=4373
R=braveyao@webrtc.org, wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8674}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8674 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 18:21:19 +00:00
f9a75d99b9 Revert "Add concept of whether video renderer supports rotation."
This reverts commit 0ad48935fc5b92be6e10924a9ee3b0dc39c79104.

TBR=guoweis@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8663}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8663 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 06:37:41 +00:00
0ad48935fc Add concept of whether video renderer supports rotation.
Rotation is best done when rendered in GPU, added the shader code which rotates the frame. For renderers which don't support rotation, the rotation will be done before sending down the frame to render. By default, assume renderer can't do rotation.

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

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

Cr-Commit-Position: refs/heads/master@{#8660}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8660 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 02:43:40 +00:00
474d1eb223 Adds C++/JNI/Java unit test for audio device module on Android.
This CL adds support for unittests of the AudioDeviceModule on Android using both Java and C++. The new framework uses ::testing::TesWithParam to support both Java-based audio and OpenSL ES based audio. However, given existing issues in our OpenSL ES implementation, the list of test parameters only contains Java in this first version. Open SL ES will be enabled as soon as the backend has been refactored.

It also:

- Removes the redundant JNIEnv* argument in webrtc::VoiceEngine::SetAndroidObjects().
- Modifies usage of enable_android_opensl and the WEBRTC_ANDROID_OPENSLES define.
- Adds kAndroidJavaAudio and kAndroidOpenSLESAudio to AudioLayer enumerator.
- Fixes some bugs which were discovered when running the tests.

BUG=NONE
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8651}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8651 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 12:40:43 +00:00