Commit Graph

42 Commits

Author SHA1 Message Date
perkj@webrtc.org
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
glaznev@webrtc.org
7bb4a9881d Merging Henrik's and Peter's changes for AppRTCDemo
from https://github.com/hkjellander/AppRTCDemo.

Description of changes:
- Add connect screen with an option to enter room number or select loopback mode.
- Add 'hangup' and 'WebRTC statistics' buttons to AppRTCDemo activity.

BUG=3938
R=kjellander@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7500 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-22 17:43:37 +00:00
glaznev@webrtc.org
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
glaznev@webrtc.org
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
glaznev@webrtc.org
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
houssainy@google.com
d5b292e450 Active connection stats [LocalAddress,RemoteAddress,LocalCandidateType...etc]
is now printed in the head-up display in Android appRTC.

This printing will be usefull in debugging switching ICE candidates.

R=andresp@webrtc.org, glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6927 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-19 11:43:32 +00:00
glaznev@webrtc.org
c3288c130d Add OpenGL Android video renderer which can display multiple
yuv420 images in a single GLSurfaceView.
Start using new video renderer in AppRTC demo app.

BUG=
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6360 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 21:57:46 +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
130fa64d4c AppRTCDemo(android): remove HTML/regex hackery in favor of JSON struct.
BUG=3407
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6345 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 20:31:41 +00:00
fischman@webrtc.org
abe01dd634 AppRTCDemo(android): run in full-screen & immersive mode.
Also:
- Only show stats HUD on demand
- Only collect stats when HUD is showing
- Don't render solid green frame when video is not present in either direction

R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6275 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-29 21:46:52 +00:00
fischman@webrtc.org
43a1395370 AppRTCDemo(android): README updates for a shrinking envsetup.sh world.
There was duplicated (and out of date!) information in README relative to
getting-started so de-duped to point to getting-started as the canonical
reference.

R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6265 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 17:29:09 +00:00
fischman@webrtc.org
a150bc9bbf PeerConnection(android): allow initializing either (or neither) of {Voice,Video}Engine.
Enables applications that don't want to pay the init/startup cost or request
extra permissions (e.g. audio-only app, or DataChannel-only app).

BUG=3234

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6164 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 22:00:50 +00:00
fischman@webrtc.org
14ea7e8922 AppRTCDemo(android): added a Heads-Up Display for bandwidth estimation.
- tap display to toggle visibility
- increased getStats frequency to 1hz.

R=glaznev@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6039 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-01 20:57:55 +00:00
fischman@webrtc.org
dd92feb6dd AppRTCDemo(android): send the created SDP, not the local description after setting it
This is required to allow explicit filtering of ICE candidates.

BUG=3288
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6038 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-01 19:06:18 +00:00
fischman@webrtc.org
f27fdeb9c9 AppRTCDemo(android): don't initialize process-globals more than once.
BUG=3257
R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6001 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 16:32:38 +00:00
fischman@webrtc.org
d1fe6b728e AppRTCDemo(android): fix a couple of SDP-related regressions.
- r5834 made it so that empty fields are a fatal SDP parsing error, exposing
  opportunities for improvement in the preferISAC; changed split/join to use
  \r\n instead of \n and now omitting the trailing space on the m=audio line
  that triggered the new failure.
- DTLS requires a different role for each endpoint so conflicts with loopback
  calling.  apprtc.py suppresses DTLS for that reason in loopback calls, so the
  android demo app now only enables DTLS by default if it is not suppressed by a
  constraint (matching Chrome).

BUG=3164,3165,2507
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5847 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-04 21:40:46 +00:00
fischman@webrtc.org
fe16488184 AppRTCDemo(android): specify DtlsSrtpKeyAgreement:true in CreatePeerConnection's constraints.
This is required to interop with Chrome now that SDES is disabled in Chrome (as of r5640).

BUG=2774
R=jiayl@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5809 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-28 19:58:03 +00:00
fischman@webrtc.org
bcfc1670d6 AppRTCDemo(android): don't send local SDP until it's set.
This fixes a race condition where the remote participant could receive the
offer, create & set its answer locally, send it back, and then try to set the
answer before the local set completed.  Observed intermittently in loopback
calls when setLocalDescription is intentionally delayed (debugging something
else).

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5625 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-01 00:02:27 +00:00
henrike@webrtc.org
79a1cff65a Android, AppRTCDemo: Fixes java exception due to JSON for ice using "urls" instead of "url".
BUG=2952
TEST=Manual
TBR=braveyao

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5605 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-24 23:22:18 +00:00
fischman@webrtc.org
c5d506a106 AppRTCDemo(android): clarified README on how to launch app using adb.
TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5553 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-14 17:55:13 +00:00
fischman@webrtc.org
3eda643a91 PeerConnection(java): added MediaConstraints support to AudioSource, now fed to AudioTrack.
BUG=2912
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5540 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-13 04:01:04 +00:00
fischman@webrtc.org
540acde5b3 PeerConnection(java): use MediaCodec for HW-accelerated video encode where available.
Still disabled by default until https://code.google.com/p/webrtc/issues/detail?id=2899 is resolved.

Also (because I needed them during development):
- make AppRTCDemo "debuggable" for extra JNI checks
- honor audio constraints served by apprtc.appspot.com
- don't "restart" video when it hasn't been stopped (affects running with the
  screen off)

BUG=2575
R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5539 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-13 03:56:14 +00:00
fischman@webrtc.org
d7568a08c3 PeerConnection(java): Add OnRenegotiationNeeded support
Also:
- Make PeerConnectionObserver::OnRenegotiationNeeded() pure virtual to avoid
  this sort of mistake in the future.
- Sprinkle @Override annotations on some callback definitions that were missing
  them.
- Fix a JNI method-signature-lookup typo (s/(V)V/()V/) in PCOJava::OnError()
- Add an explicit ScopedLocalFrameRef to PCOJava::OnError() to match all other
  C++-fired callbacks, for consistency.

BUG=2771
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5376 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-13 22:04:12 +00:00
fischman@webrtc.org
1794693ec8 AppRTCDemo(android): close() the throw-away DataChannel.
Otherwise, the PeerConnection remembers the channel enough to include an
m=application line in its offer SDP, causing connection to chrome to fail, since
apprtc.appspot.com doesn't include an RtpDataChannels:true constraint in its
RTCPeerConnection constructor call.

R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5354 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-08 18:29:34 +00:00
wu@webrtc.org
2018269dc3 Revert 5274 "Update talk to 58113193 together with https://webrt..."
> Update talk to 58113193 together with https://webrtc-codereview.appspot.com/5309005/.
> 
> R=mallinath@webrtc.org, niklas.enbom@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/5719004

TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5275 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-12 22:54:25 +00:00
wu@webrtc.org
a129b6cd13 Update talk to 58113193 together with https://webrtc-codereview.appspot.com/5309005/.
R=mallinath@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5274 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-12 22:40:39 +00:00
fischman@webrtc.org
f41f06b916 PeerConnection(java): rationalize pointer-to-jlong conversion.
In r4665 I went a bit crazy with the manual reinterpretation of a pointer to a
jlong (to avoid undefined behavior) but that's what reinterpret_cast<> is for.
So use it directly now.
Added a do-nothing DataChannel to AppRTCDemo to regression test this, since the
only repro I've found of the original bug requires ARM ABI (PeerConnectionTest
on ia32 fails to repro).

BUG=2302
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5269 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 21:07:18 +00:00
kjellander@webrtc.org
f9bdbe3619 Roll chromium_revision 232627:238260
This brings us the updated swarming_client
that has moved out from Chromium into a standalone
project.
Because of this, all .isolate files needed to be
updated as well, similar to the changes in
https://codereview.chromium.org/29993003

TEST=trybots passing
BUG=none
R=andrew@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5260 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 13:37:12 +00:00
fischman@webrtc.org
1c82037494 AppRTCDemo(android): remove vestigial mentions of PowerManager
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4995 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-17 20:53:12 +00:00
fischman@webrtc.org
4446134757 AppRTCDemo(android): support boolean value for MediaStreamConstraints.{audio,video}.
Previously it was assumed that these values were always MediaTrackConstraints but
http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-MediaStreamConstraints
allows them to be boolean, too.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4918 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 22:34:10 +00:00
fischman@webrtc.org
6c82e04cee Android standalone: remove some usages of deprecated APIs and prevent further regressions.
Also:
- Fixed WebRTCDemo UI to say "SwitchToBack" at startup since default camera is front
- Rebuild WebRTCDemo APK when resources/layout/strings change

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4916 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:57:48 +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
ddc5a19ce9 AppRTCDemo(android): uncaught exceptions now display a modal dialog box before killing the app.
BUG=2458
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4914 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:09:40 +00:00
fischman@webrtc.org
7e4d0df8ee PeerConnection(Android): enable tracing to logcat.
BUG=1295
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4888 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 02:40:43 +00:00
fischman@webrtc.org
ccf8b56670 AppRTCDemo(android): prefer ISAC for audio codec.
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4666 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 19:02:11 +00:00
fischman@webrtc.org
d26f791273 AppRTCDemo(android): allow audio-only calls to test iOS interop
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4598 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 23:50:48 +00:00
fischman@webrtc.org
32001ef124 PeerConnection shutdown-time fixes
- TCPPort::~TCPPort() was leaking incoming_ sockets; now they are deleted.
- PeerConnection::RemoveStream() now removes streams even if the
  PeerConnection::IsClosed().  Previously such streams would never get removed.
- Gave MediaStreamTrackInterface a virtual destructor to ensure deletes on base
  pointers are dispatched virtually.
- VideoTrack.dispose() delegates to super.dispose() (instead of leaking)
- PeerConnection.dispose() now removes streams before disposing of them.
- MediaStream.dispose() now removes tracks before disposing of them.
- VideoCapturer.dispose() only unowned VideoCapturers (mirroring C++ API)
- AppRTCDemo.disconnectAndExit() now correctly .dispose()s its
  VideoSource and PeerConnectionFactory.
- CHECK that Release()d objects are deleted when expected to (i.e. no ref-cycles
  or missing .dispose() calls) in the Java API.
- Create & Return webrtc::Traces at factory birth/death to be able to assert
  that _all_ threads started during the test are collected by the end.
- Name threads attached to the JVM more informatively for debugging.
- Removed a bunch of unnecessary scoped_refptr instances in
  peerconnection_jni.cc whose only job was messing with refcounts.

RISK=P2
TESTED=AppRTCDemo can be ended and restarted just fine instead of crashing on camera unavailability.  No more post-app-exit logcat lines.  PCTest.java now asserts that all threads are collected before exit.

BUG=2183
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4534 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 23:26:21 +00:00
fischman@webrtc.org
c883fdc273 PeerConnection.java: enable setting trace & log levels from Java
Replaces the hard-coded scheme that was there before and lets apps decide what
to log and to where.

R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4498 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 19:00:53 +00:00
fischman@webrtc.org
147d44a450 AppRTCDemo: replace the use of query-string parameters for pre-JB devices.
Replaces the use of a query-string parameter with a (once-per-session)
JS-to-Java function call, because query-string parameters on file:// URLs are
busted on ICS and earlier Android releases
(https://code.google.com/p/android/issues/detail?id=17535).

Also added channel.html to the list of inputs to cause edits to it to cause a
rebuild of the .apk.

BUG=1949
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4421 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 19:07:33 +00:00
fischman@webrtc.org
880c842627 AppRTCDemo: don't render frames that are already outdated.
BUG=2121
R=henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4392 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-24 20:40:03 +00:00
henrike@webrtc.org
723d683ecb Update talk folder to revision=49260075. Same as 369 in libjingle's google code repository.
TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4338 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-12 16:04:50 +00:00
henrike@webrtc.org
28e2075280 Adds trunk/talk folder of revision 359 from libjingles google code to
trunk/talk


git-svn-id: http://webrtc.googlecode.com/svn/trunk@4318 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 00:45:36 +00:00