Commit Graph

28 Commits

Author SHA1 Message Date
852a560088 Fix some bugs in the HardwareVideoDecoder.
This change preserves rotation through the decoder, rather than requiring
callers to keep track of rotation.  The test now uses a non-zero rotation
to ensure it is preserved.

Commit 3814524 inadvertently reverted several changes that weren't merged
properly before submit.  In particular, it clobbered some log messages,
comments, and error codes.  This change fixes those mistakes.

BUG=webrtc:7760

Change-Id: If529ee59fc56de7937e362dc15591295e2cf9f79
Reviewed-on: https://chromium-review.googlesource.com/546415
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18752}
2017-06-26 06:11:21 +00:00
38145241a2 Create VideoDecoderFactory interface and implementation.
The implementation creates an Android hardware video decoder.  It is built
around the same patterns as the HardwareVideoEncoderFactory.

This change pulls some shared code and constants into a common "utils" class.

Finally, adds an instrumentation test for the HardwareVideoDecoder.

BUG=webrtc:7760

Change-Id: Iea6eaae7727925743cb54f7c3153a6c07d62f55d
Reviewed-on: https://chromium-review.googlesource.com/536254
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18686}
2017-06-20 18:37:30 +00:00
af6293517f Support building WebRTC without audio and video for Android
This CL makes the WebRTC Java Wrapper more modular and allows the android
users to build WebRTC without audio and video(DataChannel only).

The BUILD file in sdk/android/ is modified to support modular WebRTC.

The peerconnection_jni.cc is split into peerconnection_jni.cc, video_jni.cc,
video_renderer_jni.cc and ownedfactoryandthreads.h/cc.

Add new modular build targets to JNI layer: audio_jni, video_jni,
null_audio_jni, null_video_jni. The users can link with different
targets to for different WebRTC functionalities.

This is split from CL: https://codereview.webrtc.org/2854123003/

TBR=magjed@webrtc.org
BUG=webrtc:7613

Review-Url: https://codereview.webrtc.org/2939203002
Cr-Commit-Position: refs/heads/master@{#18647}
2017-06-18 05:31:24 +00:00
9fbbdc2fef Create the VideoEncoderFactory and implement it.
Adds the VideoEncoderFactory interface and implements it for use with HardwareVideoEncoder.  This uses MediaCodecVideoEncoder's initialization code as an example.

BUG=webrtc:7760

Change-Id: I9fbc93ce9ac4ad866750a4386c4f15e800a3073e
Reviewed-on: https://chromium-review.googlesource.com/530063
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18636}
2017-06-16 16:46:30 +00:00
3fc2350ef9 Support H.264 high profile encoding on Exynos devices.
Guarded by field trial - similar to high profile encoder.
If high profile is requested, but device do not support it
then fallback to baseline profile.

BUG=b/34816463

Review-Url: https://codereview.webrtc.org/2936313002
Cr-Commit-Position: refs/heads/master@{#18619}
2017-06-15 23:24:37 +00:00
dc2018b87f Disable PeerConnectionTest.testTrackRemovalAndAddition due to flakiness
BUG=webrtc:7761

Review-Url: https://codereview.webrtc.org/2922703002
Cr-Commit-Position: refs/heads/master@{#18413}
2017-06-02 14:29:10 +00:00
3afb899655 Remove passing Android context to NetworkMonitor.
Instead NetworkMonitor calls ContextUtils.getApplicationContext when needed.

Bug: webrtc:7730
Change-Id: I312781da4222f7107ea1bf57099f17709fec2385
Reviewed-on: https://chromium-review.googlesource.com/517792
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18382}
2017-06-01 13:29:01 +00:00
8fdf95728f Allow FPS reduction to be applied to frame listeners.
BUG=None

Review-Url: https://codereview.webrtc.org/2897043002
Cr-Commit-Position: refs/heads/master@{#18346}
2017-05-31 09:43:10 +00:00
bac4c8013f Add support for media recorders in Camera1Capturer.
BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2861893003
Cr-Commit-Position: refs/heads/master@{#18024}
2017-05-05 08:48:48 +00:00
37adc5e81e Reland of Support adding and removing MediaRecorder to camera 2 session. (patchset #1 id:1 of https://codereview.webrtc.org/2844233002/ )
Reason for revert:
Revert "Revert of Support adding and removing MediaRecorder to camera 2 session. (patchset #5 id:80001 of https://codereview.webrtc.org/2833773003/ )"

Will fix external bots by cherry picking this CL and updating external functions which depend on CameraVideoCapturer interface

Original issue's description:
> Revert of Support adding and removing MediaRecorder to camera 2 session. (patchset #5 id:80001 of https://codereview.webrtc.org/2833773003/ )
>
> Reason for revert:
> Breaks external bot
>
> Original issue's description:
> > Support adding and removing MediaRecorder to camera 2 session.
> >
> > Camera 1 API is not supported.
> >
> > BUG=b/36684011
> >
> > Review-Url: https://codereview.webrtc.org/2833773003
> > Cr-Commit-Position: refs/heads/master@{#17901}
> > Committed: 2fc04769fa
>
> TBR=sakal@webrtc.org,glaznev@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=b/36684011
>
> Review-Url: https://codereview.webrtc.org/2844233002
> Cr-Commit-Position: refs/heads/master@{#17905}
> Committed: 6702739862

TBR=sakal@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2844393002
Cr-Commit-Position: refs/heads/master@{#17915}
2017-04-27 20:38:29 +00:00
6702739862 Revert of Support adding and removing MediaRecorder to camera 2 session. (patchset #5 id:80001 of https://codereview.webrtc.org/2833773003/ )
Reason for revert:
Breaks external bot

Original issue's description:
> Support adding and removing MediaRecorder to camera 2 session.
>
> Camera 1 API is not supported.
>
> BUG=b/36684011
>
> Review-Url: https://codereview.webrtc.org/2833773003
> Cr-Commit-Position: refs/heads/master@{#17901}
> Committed: 2fc04769fa

TBR=sakal@webrtc.org,glaznev@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2844233002
Cr-Commit-Position: refs/heads/master@{#17905}
2017-04-27 09:34:20 +00:00
2fc04769fa Support adding and removing MediaRecorder to camera 2 session.
Camera 1 API is not supported.

BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2833773003
Cr-Commit-Position: refs/heads/master@{#17901}
2017-04-27 08:12:55 +00:00
82215872f8 Add Java binding for new getStats implementation.
Very similar to the current interface, but matches the new C++ structure, and
exposes the stats values as Objects which can be downcast to more specific
types (where the previous API only exposed the values as strings).

BUG=webrtc:6871

Review-Url: https://codereview.webrtc.org/2807933003
Cr-Commit-Position: refs/heads/master@{#17746}
2017-04-18 17:27:51 +00:00
b4fc73a3ab Removing unnecessary parameters from initializeAndroidGlobals.
The "initialize audio/video" parameters are no longer needed, but
at the same time were required to be true, causing a lot of confusion.
This CL removes them, but leaves the old method signature around,
marked "deprecated".

BUG=webrtc:3416
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2800353002
Cr-Commit-Position: refs/heads/master@{#17626}
2017-04-10 22:08:02 +00:00
d15165222f Trigger framelisteners even on frames dropped by the FPS reduction by default.
Modification affects EglRenderer on Android. Moves frame dropping to the
renderer thread. Frame listeners are triggered even when FPS reduction is
active unless applyFpsReduction is set to true.

BUG=webrtc:7149

Review-Url: https://codereview.webrtc.org/2688843002
Cr-Commit-Position: refs/heads/master@{#17206}
2017-03-13 12:11:48 +00:00
234accd8e1 Roll chromium_revision cf2dce6a6d..2019b9e075 (448969:449230)
Minor update in WebRtcJniBootTest.java was needed due to a new check in Chromium.

Change log: cf2dce6a6d..2019b9e075
Full diff: cf2dce6a6d..2019b9e075

Changed dependencies:
* src/base: 2a741233ff..8cd4b3e177
* src/build: c4b2c5ac66..e62b61f097
* src/ios: 53837a325a..9cd8c7efcc
* src/testing: 2d16559171..ce405e1792
* src/third_party: 6549709ce7..bb222623f9
* src/third_party/catapult: f20052d2ac..5c71aaccc3
* src/tools: 644b36a36a..a2cff40065
DEPS diff: cf2dce6a6d..2019b9e075/DEPS

No update to Clang.

TBR=sakal@webrtc.org
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2681293002
Cr-Commit-Position: refs/heads/master@{#16504}
2017-02-09 07:56:43 +00:00
b99b5960e1 Add chromium-junit4 tag to instrumentation test AndroidManifests.
This tag is supposed to be temporary and removed when all Chromium tests
have been migrated to JUnit4.

BUG=webrtc:7123,chromium:640116
NOTRY=True

Review-Url: https://codereview.webrtc.org/2683583002
Cr-Commit-Position: refs/heads/master@{#16465}
2017-02-07 12:12:30 +00:00
cb789bb510 Remove NewApi lint suppression.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2662273004
Cr-Commit-Position: refs/heads/master@{#16448}
2017-02-06 13:34:26 +00:00
f7826d668a Remove InlinedApi lint ignore.
Adds ignore for all lint errors in Chromium code. Changes minimum SDK for
instrumentation tests to 16 from 14. Adds TargetApi annotations.

BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2670473004
Cr-Commit-Position: refs/heads/master@{#16412}
2017-02-02 08:53:33 +00:00
24af66397e Adding Java wrapper for DtmfSender.
BUG=webrtc:4180

Review-Url: https://codereview.webrtc.org/2666873002
Cr-Commit-Position: refs/heads/master@{#16410}
2017-02-02 05:53:09 +00:00
e8aca24446 Move file capturer/renderer tests to the correct location.
Move file capturer/renderer tests from the AppRTCMobile tests directory
to the WebRTC tests directory. These tests do not test AppRTCMobile but
rather WebRTC functionality. Therefore, they belong in WebRTC tests
directory.

BUG=webrtc:6545

Review-Url: https://codereview.webrtc.org/2632233002
Cr-Commit-Position: refs/heads/master@{#16115}
2017-01-17 11:32:06 +00:00
c5da08fc12 Drop dependency to Chromium in WebRtcJniBootTest.
The dependency breaks a build downstream.

BUG=None

Review-Url: https://codereview.webrtc.org/2630713002
Cr-Commit-Position: refs/heads/master@{#16047}
2017-01-13 13:56:16 +00:00
bca122e0d5 Remove lint ignores and add WrongCall ignore directly to the test.
Also removes some unused strings from AppRTCMobile strings.xml.

BUG=webrtc:6597
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2628833004
Cr-Commit-Position: refs/heads/master@{#16033}
2017-01-12 14:19:40 +00:00
e1674efd2d Update Android instrumentation tests to use JUnit4.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2627043002
Cr-Commit-Position: refs/heads/master@{#16011}
2017-01-11 14:22:56 +00:00
dcccda7e7c Created a java wrapper for the callback OnAddTrack to PeerConnection.Observer
Created a java wrapper for the callback OnAddTrack in this CL since it has been added to native C++ API
The callback function is called when a track is signaled by remote side and a new RtpReceiver is created.
The application can tell when tracks are added to the streams by listening to this callback.

BUG=webrtc:6112

Review-Url: https://codereview.webrtc.org/2513723002
Cr-Commit-Position: refs/heads/master@{#15745}
2016-12-21 22:08:03 +00:00
c4adabf967 Create the Java Wrapper of RtpReceiverObserverInterface.
Create the RtpReceiver.Observer which is a Java wrapper over the webrtc::RtpReceiverObserverInterface.
The callback function onFirstPacketReceived will be called whenever the first audio or video packet it received.

BUG=webrtc:6742

Review-Url: https://codereview.webrtc.org/2531333003
Cr-Commit-Position: refs/heads/master@{#15464}
2016-12-07 18:36:49 +00:00
768c64877e Move /webrtc/api/android files to /webrtc/sdk/android
I decided to make one webrtc/sdk/android/BUILD.gn for both tests and Java/jni src.

External dependencies needs to be updated after this CL.

Future work is required to clean up the Android api and move
implementation details to /webrtc/sdk/android/src.

BUG=webrtc:5882,webrtc:6804
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2547483003
Cr-Commit-Position: refs/heads/master@{#15443}
2016-12-06 12:29:45 +00:00
665bc3c7ad Move webrtc/api/androidtests to webrtc/sdk/android/instrumentationtests
BUG=webrtc:5882
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2541823002
Cr-Commit-Position: refs/heads/master@{#15352}
2016-12-01 09:45:35 +00:00