Commit Graph

11283 Commits

Author SHA1 Message Date
be45757028 Add henrik.lundin to fuzzers OWNERS
NOTRY=True

Bug: None
Change-Id: Icc7137b2072ac6bbdf45edf815b9260bb4e7169d
Reviewed-on: https://chromium-review.googlesource.com/541279
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18677}
2017-06-20 11:58:43 +00:00
c8ece43a62 Minor updates to VideoReceiveStream:
* Change decoder thread to use new thread function type.
* Reduce the time of when video_receiver_ receives callbacks on the process thread to match with Start/Stop of the decoder.
* Not triggering shutdown unless the thread is running.

BUG=webrtc:7361

Review-Url: https://codereview.webrtc.org/2944033003
Cr-Commit-Position: refs/heads/master@{#18675}
2017-06-20 09:44:38 +00:00
a9b848abc9 Bugfix:setting capture framerate always defaults to 30fps.
Bug: webrtc:7777
Change-Id: Ia8db06eea29d271fe8a74db203b68cabd4fa5939
Reviewed-on: https://chromium-review.googlesource.com/539641
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18673}
2017-06-20 07:50:39 +00:00
cadd306857 Fix test break by the recent changes in IcerServer
Bug: webrtc:6973
Change-Id: I43ab49831fc3fe653eb26739a1ef3a60c73b9ffd
Reviewed-on: https://chromium-review.googlesource.com/540286
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Commit-Queue: Emad Omara <emadomara@google.com>
Cr-Commit-Position: refs/heads/master@{#18670}
2017-06-19 22:48:53 +00:00
6dd77c4d89 Add reference counter of DxgiDuplicatorController to unload DXGI components
On Windows, only four applications can use DXGI duplication APIs concurrently.
So this change adds a reference counter of DxgiDuplicatorController to unload
DXGI components when the reference counter reaches 0.

BUG=webrtc:7808

Review-Url: https://codereview.webrtc.org/2933893003
Cr-Commit-Position: refs/heads/master@{#18668}
2017-06-19 20:59:42 +00:00
3352ce92f9 Android: Modular WebRTC follow-up
This CL cleans up parts from https://codereview.webrtc.org/2939203002/.

Bug: webrtc:7613
Change-Id: I96d1a2cc91174f43d3cae2cb41b2e0fe7142e3e9
Reviewed-on: https://chromium-review.googlesource.com/539456
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18665}
2017-06-19 16:05:53 +00:00
42308f615c Fix uploading of available send bitrate statistics.
BUG=webrtc:5079
R=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2943073002 .
Cr-Commit-Position: refs/heads/master@{#18664}
2017-06-19 15:58:15 +00:00
ce433fafc1 Revert "Adding ANA config event to debug dump."
This reverts commit 652abc9a472426367e149db5a101b894179687aa.

Reason for revert: break upstream bots

Original change's description:
> Adding ANA config event to debug dump.
> 
> BUG=webrtc:7854
> 
> Change-Id: I12c33b8558fd49374a55282c391b87fde9e13a28
> Reviewed-on: https://chromium-review.googlesource.com/535554
> Commit-Queue: Minyue Li <minyue@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Reviewed-by: Michael T <tschumim@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18661}

TBR=minyue@webrtc.org,ossu@webrtc.org,tschumim@webrtc.org

Change-Id: Id1f93338e431c9cd8dade722be7edd16a648d044
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7854
Reviewed-on: https://chromium-review.googlesource.com/539737
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18663}
2017-06-19 15:23:02 +00:00
bfe45c29c5 Use uint8 pointer instead of std::vector in NV12Scale.
To prepare for landing 536773.

Bug: webrtc:7785
Change-Id: I841218dca3fb9d83f362f7f2b9076f3f189e7c15
Reviewed-on: https://chromium-review.googlesource.com/539577
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18662}
2017-06-19 15:08:48 +00:00
652abc9a47 Adding ANA config event to debug dump.
BUG=webrtc:7854

Change-Id: I12c33b8558fd49374a55282c391b87fde9e13a28
Reviewed-on: https://chromium-review.googlesource.com/535554
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Michael T <tschumim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18661}
2017-06-19 15:00:39 +00:00
3093ef193e Android JNI: Clean up AndroidVideoTrackSource and NativeHandleImpl
I'm preparing adding support for Java VideoFrames in
AndroidVideoTrackSource. I split out small unrelated clean-ups into this
CL in order to make the big CL more focused.

Bug: webrtc:7749
Change-Id: Ib261ab8eb055898b39307d4e78935bf60d323820
Reviewed-on: https://chromium-review.googlesource.com/539638
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18660}
2017-06-19 14:46:08 +00:00
04f4d126f8 Implement timing frames.
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
2017-06-19 14:18:55 +00:00
1f7476f7a3 Remove explicit draw call on MTKView.
Bug: webrtc:7852
Change-Id: I21dc1446d6c456c8750a1d80bd1facddfff50ab8
Reviewed-on: https://chromium-review.googlesource.com/539336
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18657}
2017-06-19 13:08:04 +00:00
91047e566e Remove redundant std::min from ProbeBitrateEstimator.
Mimimum was already computed on line 139.

BUG=None

Review-Url: https://codereview.webrtc.org/2945833002
Cr-Commit-Position: refs/heads/master@{#18656}
2017-06-19 13:07:30 +00:00
bed7a6b3b6 Use information about blacklisted devices in video_quality_loopback_test
BUG=webrtc:7724
NOTRY=True

Review-Url: https://codereview.webrtc.org/2937123002
Cr-Commit-Position: refs/heads/master@{#18654}
2017-06-19 08:16:45 +00:00
1a610f15c3 Revert of Opus implementation of the AudioEncoderFactoryTemplate API (patchset #4 id:80001 of https://codereview.webrtc.org/2930243003/ )
Reason for revert:
Breaking google3 projects

Original issue's description:
> Opus implementation of the AudioEncoderFactoryTemplate API
>
> Now the templated AudioEncoderFactory can create Opus encoders!
>
> BUG=webrtc:7831
>
> Review-Url: https://codereview.webrtc.org/2930243003
> Cr-Commit-Position: refs/heads/master@{#18645}
> Committed: fe1aa82c63

TBR=ossu@webrtc.org,solenberg@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7831

Review-Url: https://codereview.webrtc.org/2947563002
Cr-Commit-Position: refs/heads/master@{#18649}
2017-06-18 09:38:58 +00:00
eb2d2d31d1 Revert of Opus implementation of the AudioDecoderFactoryTemplate API (patchset #1 id:1 of https://codereview.webrtc.org/2942733003/ )
Reason for revert:
breaking downstream projects

Original issue's description:
> Opus implementation of the AudioDecoderFactoryTemplate API
>
> BUG=webrtc:7837
>
> Review-Url: https://codereview.webrtc.org/2942733003
> Cr-Commit-Position: refs/heads/master@{#18646}
> Committed: d053fe4ab3

TBR=ossu@webrtc.org,solenberg@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7837

Review-Url: https://codereview.webrtc.org/2944763002
Cr-Commit-Position: refs/heads/master@{#18648}
2017-06-18 09:37:17 +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
d053fe4ab3 Opus implementation of the AudioDecoderFactoryTemplate API
BUG=webrtc:7837

Review-Url: https://codereview.webrtc.org/2942733003
Cr-Commit-Position: refs/heads/master@{#18646}
2017-06-18 01:40:52 +00:00
fe1aa82c63 Opus implementation of the AudioEncoderFactoryTemplate API
Now the templated AudioEncoderFactory can create Opus encoders!

BUG=webrtc:7831

Review-Url: https://codereview.webrtc.org/2930243003
Cr-Commit-Position: refs/heads/master@{#18645}
2017-06-18 01:23:03 +00:00
b8727aebc1 G722 implementation of the AudioEncoderFactoryTemplate API
Now the templated AudioEncoderFactory can create G722 encoders!

BUG=webrtc:7833

Review-Url: https://codereview.webrtc.org/2934833002
Cr-Commit-Position: refs/heads/master@{#18644}
2017-06-18 00:41:59 +00:00
b1ed7f09c0 G722 implementation of the AudioDecoderFactoryTemplate API
Now the templated AudioDecoderFactory can create G722 decoders!

BUG=webrtc:7839

Review-Url: https://codereview.webrtc.org/2940833002
Cr-Commit-Position: refs/heads/master@{#18643}
2017-06-18 00:30:09 +00:00
0eacd88568 Templated AudioDecoderFactory
No real encoder implements the correct API yet, so we're just testing
dummies.

BUG=webrtc:7824
TBR=ossu@webrtc.org, solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2936773005
Cr-Commit-Position: refs/heads/master@{#18642}
2017-06-17 22:45:28 +00:00
19b3a554e8 Fixing incorrect use of erase/remove idiom.
In this case it wasn't an issue, because only one result would be found
by remove_if, but might as well fix it just in case.

BUG=None
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2945723002
Cr-Commit-Position: refs/heads/master@{#18641}
2017-06-17 03:19:08 +00:00
dab1d2d34e Enable SNI in ssl adapter.
Bug: webrtc:6973
Change-Id: I13d28cf41c586880bd7fea523005233921794cdf
Reviewed-on: https://chromium-review.googlesource.com/523024
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Justin Uberti <juberti@chromium.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Emad Omara <emadomara@google.com>
Cr-Commit-Position: refs/heads/master@{#18640}
2017-06-16 23:30:48 +00:00
653158338e Templated AudioEncoderFactory
No real encoder implements the correct API yet, so we're just testing
dummies.

BUG=webrtc:7823

Review-Url: https://codereview.webrtc.org/2935643002
Cr-Commit-Position: refs/heads/master@{#18637}
2017-06-16 17:42:05 +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
5cb19827e7 Tune loss-based BWE to be more compatible with the low frequency loss reports of audio streams.
BUG=webrtc:5079

Review-Url: https://codereview.webrtc.org/2941253002
Cr-Commit-Position: refs/heads/master@{#18634}
2017-06-16 14:47:00 +00:00
8fa21c49ef Style fixes in rtcp_packet/
1. To make the files conform to chromium-style guidelines, and stop the compiler from complaing:
1.1. Move constructors out of .h file.
1.2. Move destructors out of .h file.
1.3. Move virtual functions out of .h file.
2. BlockLength() and Create() did not have consistent access modifiers in the various subclasses of RtcpPacket. Change the access level to public throughout.
3. Reorder BlockLength() and Create() where necessary, to reflect the order defined in the parent class (RtcpPacket).

BUG=None

Review-Url: https://codereview.webrtc.org/2937403002
Cr-Commit-Position: refs/heads/master@{#18633}
2017-06-16 14:07:47 +00:00
6b826ef66d Add cropping to VIEEncoder to match simulcast streams resolution
Detect when simulcaststreamfactory adjust resolution and remeber cropping
parameters in VIEEncoder.
Expose EncoderStreamFactory in webrtcvideoengine2.

BUG=webrtc:7375, webrtc:6958

Review-Url: https://codereview.webrtc.org/2936393002
Cr-Commit-Position: refs/heads/master@{#18632}
2017-06-16 13:53:48 +00:00
f79dbadc09 Add has_value() and value() methods to rtc::Optional.
These methods have the same behavior as their counterparts in std::optional, except that rtc::Optional::value() requires that the value exists whereas std::optional::value() throws an exception.

BUG=webrtc:7843

Review-Url: https://codereview.webrtc.org/2942203002
Cr-Commit-Position: refs/heads/master@{#18631}
2017-06-16 13:48:13 +00:00
af35f833b7 Reduces sensitivity in audio-glitch detector for iOS
Bug: b/38018041
Change-Id: I8490a8ab51db14d3f4f42e128e47303e3710f63f
Reviewed-on: https://chromium-review.googlesource.com/536755
Commit-Queue: Henrik Andreasson <henrika@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18629}
2017-06-16 12:09:10 +00:00
bf5a2fc11b Use RaceChecker instead of ThreadChecker in a few places.
There are some functions in packet_router.cc and modules/congestion_controller that could be used by different threads, but they're protected using rtc::ThreadChecker which doesn't allow them to be called by more than one thread even if the calls are synchronised. This CL replaces those with rtc::RaceChecker, which allows serialized access of the functions from multiple threads.

BUG=webrtc:7826

Review-Url: https://codereview.webrtc.org/2940133003
Cr-Commit-Position: refs/heads/master@{#18628}
2017-06-16 12:02:05 +00:00
bd09ebc71e Remove unused #include "libyuv/compare.h"
BUG=None

Review-Url: https://codereview.webrtc.org/2934423003
Cr-Commit-Position: refs/heads/master@{#18627}
2017-06-16 11:54:22 +00:00
e150058236 Move setting switches in AppRTCMobile to Settings screen
All setting switches except "Loopback mode" is now in the Settings
screen instead of the main screen. They are also persisted across app
launches.

Bug: webrtc:7748
Change-Id: Iafd84e5e39639770118e2503148d1bf7fb9c3d8d
Reviewed-on: https://chromium-review.googlesource.com/527034
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18626}
2017-06-16 11:16:19 +00:00
bc061b4280 Create AndroidVideoBuffer and allow renderers to consume it.
Bug: webrtc:7760
Change-Id: I3e3fddf48090ae27b226c65ddbb51f2c3d8dc544
Reviewed-on: https://chromium-review.googlesource.com/535638
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18624}
2017-06-16 08:31:37 +00:00
af99b6d67a Delete SignalSrtpError.
This became unused with cl https://codereview.webrtc.org/1362913004.

BUG=webrtc:4690,webrtc:6424

Review-Url: https://codereview.webrtc.org/2938013003
Cr-Commit-Position: refs/heads/master@{#18623}
2017-06-16 07:57:21 +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
38ede13042 Support building WebRTC without audio and video.
This CL makes the WebRTC more modular and allows the users to build
WebRTC without audio and video(DataChannel only).

The BUILD files in call/, logging/, media/ and pc/ are modified to
support modular WebRTC.

The dependencies on Call and RtcEventLog are removed from the
PeerConnection. Instead of being created internally, they would be
passed in by the PeerConnectionFactory.

Add the CreateModularPeerConnectionFactory function which allow the
users to create a PeerConnectionFactory with the modules they need.
If the users want to build WebRTC without audio and video, they can
pass in null pointers for modules they don't need. (MediaEngine,
VideoEncoderFactory etc.)

BUG=webrtc:7613

Review-Url: https://codereview.webrtc.org/2854123003
Cr-Commit-Position: refs/heads/master@{#18617}
2017-06-15 19:52:32 +00:00
112adf9ca9 Validate references of frames inserted into FrameBuffer2.
BUG=chromium:730603

Review-Url: https://codereview.webrtc.org/2937243002
Cr-Commit-Position: refs/heads/master@{#18614}
2017-06-15 16:06:21 +00:00
eb02c03a53 Allow WebRtcMediaEngine to be created from any thread.
This eliminates a thread hop in PeerConnectionFactory initialization,
and will allow some code to be simplified.

BUG=None

Review-Url: https://codereview.webrtc.org/2934103002
Cr-Commit-Position: refs/heads/master@{#18613}
2017-06-15 15:29:25 +00:00
67561a6411 Use the same QP max for tests as in production
BUG=webrtc:7664

Review-Url: https://codereview.webrtc.org/2941023002
Cr-Commit-Position: refs/heads/master@{#18611}
2017-06-15 13:34:42 +00:00
fda496a31e Set overuse detector max frame interval based on target frame rate.
Currently there is a hard limit for the estimated captured frame
interval of 45ms. As the encoder utilization is calculated as
(input frame interval)/(encode time), overuse signals can be triggered
even though there is plenty of time to go around if the fps is low.

However, in order to avoid falsly estimating low encode usage in case
the capturer has a dynamic frame rate, set the frame interval based on
the actual current max framerate.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2918143003
Cr-Commit-Position: refs/heads/master@{#18610}
2017-06-15 11:21:07 +00:00
19e087fc91 This CL finalizes the Conversational Speech tool.
The following changes have been made:
- command line args wired,
- user output added,
- final polishing.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2808053002
Cr-Commit-Position: refs/heads/master@{#18609}
2017-06-15 10:49:57 +00:00
6af9399117 ACM: Make AcmReceiver's ownership of NetEq more obvious
Bug: None
Change-Id: Iff544940fcbd651c967771c209c8c0c3aaeda9a1
Reviewed-on: https://chromium-review.googlesource.com/533073
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18607}
2017-06-15 10:11:07 +00:00
f9784f23d7 Reland of Conversational speech tool, simualtor + unit tests (patchset #1 id:1 of https://codereview.webrtc.org/2925123003/ )
Reason for revert:
Build file causing google3 compilation error fixed

Original issue's description:
> Revert of Conversational speech tool, simualtor + unit tests (patchset #12 id:220001 of https://codereview.webrtc.org/2790933002/ )
>
> Reason for revert:
> Compile Error.
>
> Original issue's description:
> > The simulator puts into action the schedule of speech turns encoded in a MultiEndCall instance. The output is a set of audio track pairs. There is one set for each speaker and each set contains one near-end and one far-end audio track. The tracks are directly written into wav files instead of creating them in memory. To speed up the creation of the output wav files, *all* the source audio tracks (i.e., the atomic speech turns) are pre-loaded.
> >
> > The ConversationalSpeechTest.MultiEndCallSimulator unit test defines a conversational speech sequence and creates two wav files (with pure tones at 440 and 880 Hz) that are used as atomic speech turn tracks.
> >
> > This CL also patches MultiEndCall in order to allow input audio tracks with same sample rate and single channel only.
> >
> > BUG=webrtc:7218
> >
> > Review-Url: https://codereview.webrtc.org/2790933002
> > Cr-Commit-Position: refs/heads/master@{#18480}
> > Committed: 6b648c4697
>
> TBR=minyue@webrtc.org,alessiob@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7218
>
> Review-Url: https://codereview.webrtc.org/2925123003
> Cr-Commit-Position: refs/heads/master@{#18481}
> Committed: 4c72cf43df

TBR=minyue@webrtc.org,charujain@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2930853002
Cr-Commit-Position: refs/heads/master@{#18606}
2017-06-15 09:24:59 +00:00
f4dd191b28 Change existing aec dump tests to use webrtc::AecDump.
Currently the debug dump functionality of WebRTC (a log of all
AudioProcessing operations) was tested by the following tests:

1. ApmTest.VerifyDebugDump* which configures and runs AudioProcessing
   from a debug dump, and verifies that the same debug dump is
   recorded.
2. DebugDumpTest.* which is a comprehensive test of the debug dump
   operations. AudioProcessing configuration is changed, and the dump
   is scanned for the change.
3. ApmTest::{DebugDump, DebugDumpFromFileHandle} that verify that
   debug dumping can be started and files written.

This CL replaces the debug dump mechanism in all these tests to
webrtc::AecDump. Some of the tests are adapted to the chenges of the
new API to AecDump {Start,Stop}DebugRecording: the old functions
signal errors when a file cannot be opened. With AecDump, the
AecDumpFactory instead returns a nullptr.

The CL also changes audioproc_f to use AecDump.

BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2864373002
Cr-Commit-Position: refs/heads/master@{#18605}
2017-06-15 08:55:38 +00:00
a5e0df6438 Move MinPositive to call.h as discussed here: https://codereview.chromium.org/2888303005/#msg19
TBR=stefan@webrtc.org
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2924393002
Cr-Commit-Position: refs/heads/master@{#18599}
2017-06-14 18:41:48 +00:00
62faaabce9 Android: Add functionality for wrapping C++ I420 buffers to Java
This functionality is needed when sending C++ I420 buffers to Java
VideoSinks or Java encoders.

Bug: webrtc:7749
Change-Id: Ied783470b90b9d2e0cb5930795f35de4a296d499
Reviewed-on: https://chromium-review.googlesource.com/532961
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18597}
2017-06-14 17:37:15 +00:00
cca0f6cc68 Support H.264 high profile decoding on Exynos devices.
Tested on Galaxy S5, S6, S7 and S8

BUG=b/34816463

Review-Url: https://codereview.webrtc.org/2942463002
Cr-Commit-Position: refs/heads/master@{#18596}
2017-06-14 17:20:54 +00:00