Commit Graph

87 Commits

Author SHA1 Message Date
96e4db9bea Split peerconnection_jni.cc into separate files.
For now:
java_helpers - JNI convenience functions etc. Can in theory be moved to libjingle / webrtc general one day.
classreferenceholder - app/webrtc specific Java class loader.
androidvideocapturer_jni - the jni part of the video capturer I added.
peerconnection_jni - all the rest.

This also move all jni specifics into ns webrtc_jni to avoid naming collision.

R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8363}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8363 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 12:47:21 +00:00
006521d5bd Makes libjingle_peerconnection_android_unittest run on networkless devices.
PeerConnectionTest.java currently works, but only on a device with
network interfaces up. This is not a problem for desktop, but it is a
problem when running on Android devices since the devices in the lab
generally don't have network (due to the chaotic radio environment in
the device labs, devices are simply kept in flight mode).

The test does work if one modifies this line in the file
webrtc/base/network.cc:

bool ignored = ((cursor->ifa_flags & IFF_LOOPBACK) ||
                IsIgnoredNetwork(*network));

If we remove the IFF_LOOPBACK clause, the test starts working on
an Android device in flight mode. This is nice - we're running the
call and packets interact with the OS network stack, which is good
for this end-to-end test. We can't just remove the clause though since
having loopback is undesirable for everyone except the test (right)?
so we need to make this behavior configurable.

This CL takes a stab at a complete solution where we pass a boolean
all the way through the Java PeerConnectionFactory down to the
BasicNetworkManager. This comes as a heavy price in interface
changes though. It's pretty out of proportion, but fundamentally we
need some way of telling the network manager that it is on Android
and in test mode. Passing the boolean all the way through is one way.

Another way might be to put the loopback filter behind an ifdef and
link a custom libjingle_peerconnection.so with the test. That is hacky
but doesn't pollute the interfaces. Not sure how to solve that in GYP
but it could mean some duplication between the production and
test .so files.

It would have been perfect to use flags here, but then we need to
hook up gflags parsing to some main() somewhere to make sure the
flag gets parsed, and make sure to pass that flag in our tests.
I'm not sure how that can be done.

Making the loopback filtering conditional is exactly how we solved the
equivalent problem in content_browsertests in Chrome, and it worked
great.

That's all I could think of.

BUG=4181
R=perkj@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8344}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8344 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 09:24:25 +00:00
83bc721c7e 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
2015-02-11 11:27:22 +00:00
bc35703694 Add a method to remove an existing renderer from the internal list of Android renderers.
BUG=4290
R=jiayl@webrtc.org, mquiros@google.com

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

Cr-Commit-Position: refs/heads/master@{#8320}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8320 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 23:23:47 +00:00
44ae4c8b07 Support using VP9 video codec in AppRTCDemo.
- Add peer connection Java API to initialize field trial string.
- Add setting option to select VP8 or Vp9 as default video codec.
- Minor code clean up and allowing 720p portrait encoding.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8303}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8303 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 23:26:41 +00:00
f6932297e7 Fix Android video renderer to support video frames
with stride > width.

Recent libvpx update generates output video frames with stride
value greater than width, which was not supported by Android OpenGL
video renderer (Android GLES2 doesn't have GL_UNPACK_ROW_LENGTH
to provide stride information for buffer in glTexImage2D call).

Fix it by implementing native frame copying for Java
VideoRenderer.I420Frame implementation.

BUG=4248
R=braveyao@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8252}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8252 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 17:30:17 +00:00
8501ee632b Support VP8 HW decoding on devices with Exynos codec.
R=wzh@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8160 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-26 23:07:19 +00:00
dacdd9403d Reland r7980:
Accept incoming pings before remote answer is set, to reduce connection latency.
Set ICE connection state to 'checking' after setting the remote answer, so that it can transition into 'connected' if the peer reflexive connection is up before any remote candidate is set. See more details in crbug/446908

BUG=4068, crbug/446908
R=juberti@webrtc.org, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8141 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-23 17:33:34 +00:00
fedb9ea6bc Correct the class name in peerconnection_jni.cc.
BUG=4194
TEST=Manual Test
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8106 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 07:57:06 +00:00
5f93d0a140 Update libjingle license statements at top of talk files for consistency
BUG=2133
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8105 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 21:36:13 +00:00
8e327c45d0 Update StatsCollector's interface in preparation of more changes.
This CL is the first of three and this one contains interface additions (not deletion for backwards compatibility) as well as a few necessary updates to internal code.

The next CL will be in Chromium to consume the new new methods and remove dependency on the old ones.

The third CL will then contain the bulk of the updates and improvements and be compatible with this interface.

BUG=2822
R=perkj@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8097 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 20:41:26 +00:00
43e54e36bf Revert 8095 "Update StatsCollector's interface in preparation of..."
> Update StatsCollector's interface in preparation of more changes.
> 
> This CL is the first of three and this one contains interface additions (not deletion for backwards compatibility) as well as a few necessary updates to internal code.
> 
> The next CL will be in Chromium to consume the new new methods and remove dependency on the old ones.
> 
> The third CL will then contain the bulk of the updates and improvements and be compatible with this interface.
> 
> BUG=2822
> R=perkj@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/36829004

TBR=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8096 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 17:34:23 +00:00
5b76fd79df Update StatsCollector's interface in preparation of more changes.
This CL is the first of three and this one contains interface additions (not deletion for backwards compatibility) as well as a few necessary updates to internal code.

The next CL will be in Chromium to consume the new new methods and remove dependency on the old ones.

The third CL will then contain the bulk of the updates and improvements and be compatible with this interface.

BUG=2822
R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8095 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 16:49:33 +00:00
2ebfac5649 Remove COMPILE_ASSERT and use static_assert everywhere
COMPILE_ASSERT is no longer needed now that we have C++11's
static_assert.

R=aluebs@webrtc.org, andrew@webrtc.org, hellner@chromium.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8058 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 10:51:54 +00:00
3df38b442f Unify the two copies of compile_assert.h
This patch basically deletes webrtc/base/compile_assert.h (which is
the more outdated copy) and moves
webrtc/system_wrappers/source/compile_assert.h to take its place.

R=aluebs@webrtc.org, andrew@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8048 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 11:37:48 +00:00
16825b1a82 Use int64_t more consistently for times, in particular for RTT values.
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t.  Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, holmer@google.com, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
f6a9714760 Remove peer connection and signaling calls from UI thread.
- Add separate looper threads for peer connection and websocket
signaling classes.
- To improve the connection speed start peer connection factory
initialization once EGL context is ready in parallel with the room
connection.
- Add asynchronious http request class and start using it in
webscoket signaling and room parameters extractor.
- Add helper looper based executor class.
- Port some of henrika changes from
https://webrtc-codereview.appspot.com/36629004/ to fix sensor
crashes on non L devices - will remove the change if CL will
be submitted soon.

R=jiayl@webrtc.org, wzh@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8006 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-06 22:24:09 +00:00
e2e199b894 Clean up StatsObserver's OnComplete methods (address TODOs).
R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7898 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 13:22:54 +00:00
c57310b982 Switch kStatsValueName* constants to be enums instead of char*.
This is to guard against potentially assigning a value name to an incorrect value, non-static string or otherwise assume they can be treated as strings.

R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7884 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-12 17:41:28 +00:00
dea5173edf Add start bitrate and vp8 hw acceleration option to
Android AppRTCDemo.

- Add an option to set VP8 encoder start bitrate
usig x-google-start-bitrate line in remote SDP.
- Allow to enabled/disable VP8 hw decoder and
encoder acceleration using appRTC settings.

BUG=4046
R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7775 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-01 20:02:13 +00:00
2faf7eea6f Revert "Revert "This adds an Android apk for running tests on the Java layer of PeerConnection.""
This reverts commit 308e7ff61327d64ba5c7761ce6b58cd1fbc4847e.

Original cl description:

This adds an Android apk for running tests on the Java layer of PeerConnection.

The only testcase is currently the same test we run on Java standalone.
To run the test adb shell am instrument -w org.webrtc.test/android.test.InstrumentationTestRunner

BUG=4031
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7748 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-26 07:35:37 +00:00
dab5d92df6 Use mirror image for Android AppRTCDemo local preview.
Similar to Chrome apprtc using mirror image for camera
local preview provides better experience when device
is rotated.

R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7741 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-24 17:31:01 +00:00
308e7ff613 Revert "This adds an Android apk for running tests on the Java layer of PeerConnection."
This reverts r7732

Reason: Breaks compilation on Linux:
[813/818] LINK libjingle_media_unittest
FAILED: cd ../../talk; build/build_jar.sh /usr/lib/jvm/java-7-openjdk-amd64 ../out/Debug/libjingle_peerconnection_test.jar ../out/Debug/obj/talk/libjingle_peerconnection_test_jar.gen app/webrtc/javatests/src:../out/Debug/libjingle_peerconnection.jar:../third_party/junit/junit-4.11.jar app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java
build/build_jar.sh: Entering directory `/mnt/data/b/build/slave/linux64/build/src/talk'
app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java:46:warning: [deprecation] Assert in junit.framework has been deprecated
import static junit.framework.Assert.*;
                             ^
app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java:36:error: cannot find symbol
  @Test
   ^
  symbol:   class Test
  location: class PeerConnectionTestJava
app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java:43:error: cannot find symbol
  @Test
   ^
  symbol:   class Test
  location: class PeerConnectionTestJava
2 errors
1 warning
ninja: build stopped: subcommand failed.

TBR=perkj@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7733 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-23 21:23:00 +00:00
2751f2ab4c This adds an Android apk for running tests on the Java layer of PeerConnection.
The only testcase is currently the same test we run on Java standalone.
To run the test adb shell am instrument -w org.webrtc.test/android.test.InstrumentationTestRunner

R=kjellander@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7732 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-23 16:00:57 +00:00
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
c2dd5ee2c0 Prepare for removal of PeerConnectionObserver::OnError.
Prepare for removal of constraints to PeerConnection::AddStream.

OnError has never been implemented and has been removed from the spec.
Also, constraints to PeerConnection::AddStream has also been removed from the spec and have never been implemented.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7605 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 11:31:29 +00:00
5f38c8d1b8 Android AppRTCDemo improvements:
- Add a room list to ConnectActivity with buttons to add/remove rooms.
- Add loopback call button.
- Add option to toggle full screen / letterbox video.
- Add camera fps settings.
- Fix device to landscape orientation for HD video until issue 3936
will be fixed.
- Fix a few crashes by avoiding calling peer connection and
GAE signaling function while connection is closing.
- Better handling GAE channel error - catch channel exceptions and
display dialog with error messages.

BUG=3939, 3935
R=kjellander@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7601 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 22:18:52 +00:00
243eb8e9af Adding setting screen to AppRTCDemo.
- Move server URL from connection screen
to the setting screen.
- Add setting for local video resolution.
- Auto save last entered room number.
- Use full screen mode in video renderer and fix
texture offsets recalculation when rendering type is
dynamically changed.

BUG=3935,3953
R=kjellander@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7534 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-27 17:22:15 +00:00
470988742a Add HD support to Android if we detect a hardware video encoder that can be used. This Change the internal class MediaCodecVideoEncoder to have a one public method for checking if the platform is supported. It also adds &hd=true to the reqest url a hardware encoder is detected.
BUG=3934
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7520 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-24 11:38:19 +00:00
a8c0edd29f Avoid using EGLContext class for Android 4.1 and below.
Support for this class was added in Android 4.2, so
disable surface decoding for lower Android versions.

BUG=3901
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7478 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-20 19:08:05 +00:00
58202946a7 Cleaning up Android AppRTCDemo.
- Move signaling code from Activity to a separate class
and add interface for AppRTC signaling. For now
only pure GAE signaling implements this interface.
- Move peer connection, video source and peer connection
and SDP observer code from Activity to a separate class.
- Main Activity class will do only high level calls and
event handling for peer connection and signaling classes.
- Also add video renderer position update and use full
screen for local preview until the connection is established.

BUG=
R=braveyao@webrtc.org, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7469 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 17:42:38 +00:00
3c16d8bd1c (Auto)update libjingle 77414393-> 77554188
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7428 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13 06:35:10 +00:00
dae40dcde9 Change setting VP8 codec specific info values by HW VP8 encoder
to follow SW implementation.

This fixes video freezing observed when connecting Android AppRtcDemo
on devices with hW encoder support with Chrome apprtc.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7414 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-09 17:53:09 +00:00
95bacfed08 Remove bad waiting code from video decoder release function.
Instead keep surface texture object alive while video codec
is re-initialized with a different resolution.

BUG=
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7401 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-09 00:00:11 +00:00
46ffc70878 Temporary fix to allow Invoke() calls for VP8 HW encoder and decoder.
BUG=
R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7387 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-07 17:11:36 +00:00
528fc650d8 Fixing build issue with L-sdk
Based on https://codereview.appspot.com/153000043/

BUG=https://code.google.com/p/chromium/issues/detail?id=420293
R=niklas.enbom@webrtc.org, serya@chromium.org, yfriedman@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7374 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-06 17:56:43 +00:00
25cc745d6b Switch to SW video decoder on Android after getting 2 or more
critical errors from HW decoder.

BUG=410730
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7368 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-02 16:58:05 +00:00
359d720004 Allow Android apps to set video renderer scaling type.
Also add type check for EGL context object received from apps and
switch to byte buffer video decoding if EGL context is incorrect

BUG=3851
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7326 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-29 23:07:08 +00:00
8166faeff3 Change Android video renderer to maintain video aspect
ratio when displaying camera or decoded video frames.

-

R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7282 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-23 23:58:52 +00:00
90668b1633 Switch HW video decoder to output byte buffers if video
renderer EGL context is not provided by app.

R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7281 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-23 21:42:15 +00:00
ebf2757339 Fix HW video decoder crash on some Android KK devices.
Remove direct access to decoder Java output buffer memory
when HW decoder is configured to decode to surface.

-

R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7249 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-19 19:36:13 +00:00
e65812427d Fixing compilation failure in peerconnection_jni.cc with WEBRTC_CHROMIUM_BUILD.
Symbol LogcatTraceContext not defined.
Submitting on behalf of serya@.
Dup of https://webrtc-codereview.appspot.com/29529004/

TEST=Build target libjingle_peerconnection_javalib with applied CL https://codereview.chromium.org/551793003/
BUG=https://crbug.com/383418
R=serya@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7244 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-19 16:53:46 +00:00
0b435ba597 A few fixes to avoid crash in HW codec on device orientation change.
- Fix video encoder Reset() function to avoid setting codec
resolution to zero.
- Follow SW codec implementation and do not crash when frame
with the resolution different from the encoder resolution arrives.
Instead wait for at least 3 frames with new resolution and
re-initialize the codec. HW codec reset may take much longer
than SW codec, so these 3 frames threshold avoids resetting
codec when outstanding camera frame captured from previous device
orientation arrives.
- Plus some minor changes to make encoder reset/release
implementation closer to decoder implementation.

BUG=
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7230 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 23:01:03 +00:00
3b67f8e0ca Enable HW video decoding on Qualcomm devices.
Parallel decoding and encoding problem is fixed now
(b/16353967), so it is possible to start using Qualcomm
VP8 HW decoder. Bitrate overshoots should be fixed as well.

BUG=
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7215 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 21:25:51 +00:00
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
a59c501c99 Java VideoRenderer class may be backed by two different native
classes depending on type of rendering.
Fix crash in AppRtcDemo by calling correct destructor on exit.

BUG=
R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7202 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 03:26:59 +00:00
996784548d HW video decoding optimization to better support HD resolution:
- Change hw video decoder wrapper to allow to feed multiple input
and query for an output every 10 ms.
- Add an option to decode video frame into an Android surface object. Create
shared with video renderer EGL context and external texture on
video decoder thread.
- Support external texture rendering in Android renderer.
- Support TextureVideoFrame in Java and use it to pass texture from video decoder
to renderer.
- Fix HW encoder and decoder detection code to avoid query codec capabilities
from sw codecs.

BUG=
R=tkchin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7185 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-15 17:52:42 +00:00
1d53f64b0f Disabling initializeAndroidGlobals when built with WEBRTC_CHROMIUM_BUILD.
webrtc::VideoEngine::SetAndroidObjects and webrtc::VoiceEngine::SetAndroidObjects
are not compatible with WEBRTC_CHROMIUM_BUILD. Since neither VoiceEngine nor VideoEngine
are needed at the time it's better to disable it completely.

BUG=https://crbug.com/412276
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7155 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-11 16:58:25 +00:00
4d19e05ab2 Peerconnection_jni to use webrtc/base/checks.h instead of implementing its own.
This needs to happen sooner or later as if webrtc/base/checks.h happens to be included transitively here it would collide.

R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7115 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 11:45:44 +00:00
b648b9d85c Remove test constructor in WebRtcVideoEngine2.
Removes the need for ::Construct().

BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6977 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 11:08:06 +00:00