Commit Graph

4592 Commits

Author SHA1 Message Date
34852cf707 H264SpsPpsTracker class which keep tracks of SPS/PPS.
The H264SpsPpsTracker class:
 - Keeps track of all received SPS/PPS.
 - Decides whether a packet should be inserted into the PacketBuffer or not.
   - Don't insert if this packet only contains SPS and/or PPS.
   - Don't insert if this is the first packet of and IDR and we have not
     received the required SPS/PPS.
 - Insert start codes, and in the case of the first packet of an IDR prepend
   the bitstream with the given SPS/PPS for this IDR.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2466993003
Cr-Commit-Position: refs/heads/master@{#14906}
2016-11-03 11:03:06 +00:00
54fd57980f Add CreateWindowCapturer() and CreateScreenCapturer() in DesktopCapturer
This change copies ScreenCapturerDifferWrapper to a new
DesktopCapturerDifferWrapper, and adds DesktopCapturer::CreateWindowCapturer and
DesktopCapturer::CreateScreenCapturer functions to replace
WindowCapturer::Create and ScreenCapturer::Create.

BUG=webrtc:6513

Committed: https://crrev.com/b763e39beba92b45baa09542f949daabbe6258a3
Review-Url: https://codereview.webrtc.org/2468753002
Cr-Original-Commit-Position: refs/heads/master@{#14880}
Cr-Commit-Position: refs/heads/master@{#14903}
2016-11-02 21:49:38 +00:00
fa56584271 Remove deprected functions from EncodedImageCallback and RtpRtcp
Removed EncodedImageCallback::Encoded() and RtpRtcp::SendOutgoingData().
These methods should no longer be used anywhere and it's safe to remove
them.

BUG=chromium:621691

Review-Url: https://codereview.webrtc.org/2405173006
Cr-Commit-Position: refs/heads/master@{#14902}
2016-11-02 20:14:24 +00:00
d0a151c698 Update default values for APM stats to match old behavior.
In the new APM statistics interface, the default values did not match those previously used in AudioSendStream::Stats.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2469783002
Cr-Commit-Position: refs/heads/master@{#14896}
2016-11-02 16:14:42 +00:00
1515e95329 Add audio_format_conversion to deps for audio_decoder_factory_interface.
This fix is made to remove the discrepancy between GYP and GN audio_decoder_factory_interface target.

BUG=webrtc:6412
NOTRY=True

Review-Url: https://codereview.webrtc.org/2472643003
Cr-Commit-Position: refs/heads/master@{#14894}
2016-11-02 15:43:42 +00:00
hta
5881d552c5 Remove webrtc::Video from H264 encoder internals
This CL replaces the use of webrtc::Video as an internal
variable in the H.264 encoder with the specific fields
that are used by this encoder.

In support of refactorings discussed around:

BUG=600254

Committed: https://crrev.com/2549437b5ccf5aae2e6f1a1491c5f505d1859f9c
Review-Url: https://codereview.webrtc.org/2468903003
Cr-Original-Commit-Position: refs/heads/master@{#14887}
Cr-Commit-Position: refs/heads/master@{#14892}
2016-11-02 14:22:29 +00:00
de9e5fffa2 Add stats for frequency offset when converting RTP timestamp to NTP time.
- Add histogram: "WebRTC.Video.RtpToNtpFreqOffsetInKhz"

  The absolute value of the difference between the estimated frequency during RTP timestamp to NTP time conversion and the actual value (i.e. 90 kHz) is measured per received video frame. The max offset during 40 second intervals is stored. The average of these stored offsets per received video stream is recorded when a stream is removed.

Updated rtp_to_ntp.cc:
- Add validation for only inserting newer RTCP sender reports to the rtcp list.

- Move calculation of frequency/offset (from RTP/NTP timestamp pairs) to UpdateRtcpList. Calculated when a new RTCP SR in inserted (and not in RtpToNtpMs per packet).

BUG=webrtc:6579

Review-Url: https://codereview.webrtc.org/2385763002
Cr-Commit-Position: refs/heads/master@{#14891}
2016-11-02 14:14:10 +00:00
0dbcfa51a2 Make video denoiser tests standalone, not using the VideoProcessingTest fixture.
BUG=None

Review-Url: https://codereview.webrtc.org/2464073002
Cr-Commit-Position: refs/heads/master@{#14890}
2016-11-02 14:11:11 +00:00
cb18ee6127 Add support for 3-byte headers in VideoToolbox NALU parser.
BUG=webrtc:6278
R=tkchin@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/2356793002 .

Cr-Commit-Position: refs/heads/master@{#14889}
2016-11-02 14:07:12 +00:00
hta
6ad7fa4606 Revert of Remove webrtc::Video from H264 encoder internals (patchset #2 id:20001 of https://codereview.webrtc.org/2468903003/ )
Reason for revert:
Landed the wrong patchset. Nothing broken.

Original issue's description:
> Remove webrtc::Video from H264 encoder internals
>
> This CL replaces the use of webrtc::Video as an internal
> variable in the H.264 encoder with the specific fields
> that are used by this encoder.
>
> In support of refactorings discussed around:
>
> BUG=600254
>
> Committed: https://crrev.com/2549437b5ccf5aae2e6f1a1491c5f505d1859f9c
> Cr-Commit-Position: refs/heads/master@{#14887}

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

Review-Url: https://codereview.webrtc.org/2472673002
Cr-Commit-Position: refs/heads/master@{#14888}
2016-11-02 13:53:25 +00:00
hta
2549437b5c Remove webrtc::Video from H264 encoder internals
This CL replaces the use of webrtc::Video as an internal
variable in the H.264 encoder with the specific fields
that are used by this encoder.

In support of refactorings discussed around:

BUG=600254

Review-Url: https://codereview.webrtc.org/2468903003
Cr-Commit-Position: refs/heads/master@{#14887}
2016-11-02 13:45:57 +00:00
4d0ec05323 Revert of Add CreateWindowCapturer() and CreateScreenCapturer() in DesktopCapturer (patchset #2 id:40001 of https://codereview.webrtc.org/2468753002/ )
Reason for revert:
Prevents WebRTC rolls into Chrome.

https://build.chromium.org/p/chromium.linux/builders/Blimp%20Linux%20%28dbg%29/builds/14848/steps/compile/logs/stdio

The reason for reverting is: Breaks
https://build.chromium.org/p/chromium.linux/builders/Blimp%20Linux%20%28dbg%2...
[881/894] SOLINK ./libcontent.so
FAILED: libcontent.so libcontent.so.TOC
../../third_party/webrtc/modules/desktop_capture/desktop_capturer.cc:45: error:
undefined reference to
'webrtc::DesktopCapturer::CreateRawWindowCapturer(webrtc::DesktopCaptureOptions
const&)'
../../third_party/webrtc/modules/desktop_capture/desktop_capturer.cc:56: error:
undefined reference to
'webrtc::DesktopCapturer::CreateRawScreenCapturer(webrtc::DesktopCaptureOptions
const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Original issue's description:
> Add CreateWindowCapturer() and CreateScreenCapturer() in DesktopCapturer
>
> This change copies ScreenCapturerDifferWrapper to a new
> DesktopCapturerDifferWrapper, and adds DesktopCapturer::CreateWindowCapturer and
> DesktopCapturer::CreateScreenCapturer functions to replace
> WindowCapturer::Create and ScreenCapturer::Create.
>
> BUG=webrtc:6513
>
> Committed: https://crrev.com/b763e39beba92b45baa09542f949daabbe6258a3
> Cr-Commit-Position: refs/heads/master@{#14880}

TBR=sergeyu@chromium.org,zijiehe@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2471773002
Cr-Commit-Position: refs/heads/master@{#14884}
2016-11-02 10:13:23 +00:00
b763e39beb Add CreateWindowCapturer() and CreateScreenCapturer() in DesktopCapturer
This change copies ScreenCapturerDifferWrapper to a new
DesktopCapturerDifferWrapper, and adds DesktopCapturer::CreateWindowCapturer and
DesktopCapturer::CreateScreenCapturer functions to replace
WindowCapturer::Create and ScreenCapturer::Create.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2468753002
Cr-Commit-Position: refs/heads/master@{#14880}
2016-11-01 23:02:51 +00:00
8a44e1d87b Let RTC_[D]CHECK_op accept arguments of different signedness
With this change, instead of

  RTC_DCHECK_GE(unsigned_var, 17u);

we can simply write

  RTC_DCHECK_GE(unsigned_var, 17);

or even

  RTC_DCHECK_GE(unsigned_var, -17);  // Always true.

and the mathematically sensible thing will happen.

Perhaps more importantly, we can replace checks like

  // index is size_t, num_channels is int.
  RTC_DCHECK(num_channels >= 0
             && index < static_cast<size_t>(num_channels));

or, even worse, just

  // Surely num_channels isn't negative. That would be absurd!
  RTC_DCHECK_LT(index, static_cast<size_t>(num_channels));

with simply

  RTC_DCHECK_LT(index, num_channels);

In short, you no longer have to keep track of the signedness of the arguments, because the sensible thing will happen.

BUG=webrtc:6645

Review-Url: https://codereview.webrtc.org/2459793002
Cr-Commit-Position: refs/heads/master@{#14878}
2016-11-01 19:04:32 +00:00
b1ed609901 Use rtcp::Bye instead of RTCPUtility parser for rtcp_sender_unittest
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2463343002
Cr-Commit-Position: refs/heads/master@{#14876}
2016-11-01 13:38:43 +00:00
384e731455 vp8_impl.cc: Adjust cpu speed setting for arm for devices with 4 or more cores.
CIF or less: -12 -> -8
VGA: -12 -> -10

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2463033002
Cr-Commit-Position: refs/heads/master@{#14873}
2016-11-01 11:08:27 +00:00
aee3e0eb32 Only advance |first_seq_num_| if packets are explicitly cleared from the PacketBuffer.
In this CL:
 - Don't insert a packet if we have explicitly cleared past it.
 - Added some logging to ExpandBufferSize.
 - Renamed IsContinuous to PotentialNewFrame.
 - Unittests updated/added for this new behavior.
 - Refactored TestPacketBuffer unittests.

BUG=webrtc:5514
R=danilchap@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/2399373002 .

Cr-Commit-Position: refs/heads/master@{#14871}
2016-11-01 10:45:43 +00:00
b84ad63b0a Add RTCP packet class for signaling encoder target bitrate.
This is a proposal for a new RTCP message. Feel free to comment on the
message structure, selected type ids etc, as well as code for
serialization/deserialization. Once we agree on this, I'll continue
with wiring it up in the actual rtcp sender and receiver.

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2306873003
Cr-Commit-Position: refs/heads/master@{#14867}
2016-11-01 09:50:17 +00:00
6b6c88f184 NetEq jitter calculation now done in uint64_t.
The timestamps are 32 bit and can (conceivably) be spaced far enough
apart for the calculation, which is done in Q4, to overflow.

BUG=chromium:653268

Review-Url: https://codereview.webrtc.org/2460393002
Cr-Commit-Position: refs/heads/master@{#14856}
2016-10-31 15:59:34 +00:00
80ac24dd36 Allow max 1 block per type in RTCP Extended Reports
Design of individual block in ExtendedReports packet suggest there is
no point to have more than one block per type.
This CL reduce complexity of having several blocks of the same type in
same report.

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/2378113002
Cr-Commit-Position: refs/heads/master@{#14855}
2016-10-31 15:40:55 +00:00
ba156cfe96 Improvements in how WebRTC.Audio.RecordedOnlyZeros is added as histogram.
Contains fixes for a non-perfect implementation in https://codereview.webrtc.org/2328433003/

Summary:

Adds WebRTC.Audio.RecordedOnlyZeros UMA stat when recording stops if:
- All level estimates during the audio session were zero, and
- If the audio session was longer than 10 seconds.

Adds four simple methods to the AudioDeviceBuffer (ADB) class to allow the ADM
to update the ADB about when media starts and stops in both directions.

Moves any "critical" parst out frome the timer (based on task queue) and ensures
that it only does trivial logging tasks.

The task queue is now owned by a unique pointer to improve control of when it
starts and stops.

Adds time measurements (for logging) of both total time playing out and total
recording time. Units are in milliseconds.

BUG=webrtc:6592

Review-Url: https://codereview.webrtc.org/2445363003
Cr-Commit-Position: refs/heads/master@{#14854}
2016-10-31 15:18:54 +00:00
67dca9f12e Delete ShallowCopy, in favor of copy construction and assignment.
BUG=webrtc:6591

Review-Url: https://codereview.webrtc.org/2443123002
Cr-Commit-Position: refs/heads/master@{#14853}
2016-10-31 15:05:58 +00:00
c846f2f4c0 Fix out_frame argument of PreprocessFrameAndVerify.
Probably broken since https://codereview.webrtc.org/1482913003, making VideoProcessingTest.Resampler skip the PSNR checks.

BUG=webrtc:5259

Review-Url: https://codereview.webrtc.org/2448053003
Cr-Commit-Position: refs/heads/master@{#14852}
2016-10-31 14:20:52 +00:00
fffc1e5578 Add functionality for parsing H264 profile-level-id
The new code is only exercised in tests so far. The H264 profile-level-id
parsing is not complete, but it should be enough for our purposes for
now.

BUG=webrtc:6400,webrtc:6337

Review-Url: https://codereview.webrtc.org/2459633002
Cr-Commit-Position: refs/heads/master@{#14850}
2016-10-31 12:56:03 +00:00
869e7cd8e7 Rename ProducerFec to UlpfecGenerator.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2449783002
Cr-Commit-Position: refs/heads/master@{#14847}
2016-10-31 12:27:10 +00:00
d55c3f68c8 Rename FecReceiver to UlpfecReceiver.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2451643002
Cr-Commit-Position: refs/heads/master@{#14846}
2016-10-31 11:51:38 +00:00
6b825df37e Using AudioOption to enable audio network adaptor.
BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2397573006
Cr-Commit-Position: refs/heads/master@{#14845}
2016-10-31 11:08:37 +00:00
ca27f9d5b9 It seems that if encoder_params.sSpatialLayers[0].sSliceArgument.uiSliceNum is configured to number of cores as determined by openh264 (or any number > 1 in my local tests), frame rate statistics will be mucked up (apparently thousands of frames per second) and quality will bottom out because bits per frame is then very low.
BUG=webrtc:6583

Review-Url: https://codereview.webrtc.org/2458673002
Cr-Commit-Position: refs/heads/master@{#14842}
2016-10-31 10:43:47 +00:00
42ca68ab72 Ensure one does not register same rtp header extension with different id
Added assert to RtpHeaderExtensionMap
Altered tests that did.

BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2462663002
Cr-Commit-Position: refs/heads/master@{#14840}
2016-10-31 10:34:45 +00:00
051f678808 Add a NeededFrequency() method to the AudioMixer::Source interface.
This change will allow for a audio source to report its sampling rate
to the audio mixer. It is needed in order to mix at a lower sampling
rate. Mixing at a lower sampling rate can in many cases lead to big
efficiency improvements, as reported by experiments.

The code affected is all implementations of the Source interface:
AudioReceiveStream and a mock class. The AudioReceiveStream now
queries its underlying voe::Channel object for the needed frequency.

Note that the changes to the mixing algorithm are done in a later CL.

BUG=webrtc:6346
NOTRY=True
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2448113009
Cr-Commit-Position: refs/heads/master@{#14839}
2016-10-31 10:26:48 +00:00
bc8074474d Eliminate left shift of negative value by using multiplication instead
NOPRESUBMIT=true
BUG=chromium:653267

Review-Url: https://codereview.webrtc.org/2439353003
Cr-Commit-Position: refs/heads/master@{#14837}
2016-10-31 09:26:14 +00:00
b68d655f36 Add DesktopCapturer GetSourceList SelectSource FocusOnSelectedSource functions
I have chosen part of 2435603010 changes to compose this change.
According to the discussion we have made in previous change, this CL contains,
1. Source structure to represent a source of a DesktopCapturer.
2. GetSourceList / SelectSource / FocusOnSelectedSource functions in
DesktopCapturer.
3. ScreenCapturer and WindowCapturer forward corresponding functions to the new
DesktopCapturer APIs.

After this change, We can remove WindowCapturer & ScreenCapturer references from
Chromium, and use the new APIs.

BUG=webrtc:6513

Committed: https://crrev.com/9cb0b3b4ac916cdf52d97a63d923dfbe73f0541e
Review-Url: https://codereview.webrtc.org/2452263003
Cr-Original-Commit-Position: refs/heads/master@{#14830}
Cr-Commit-Position: refs/heads/master@{#14832}
2016-10-29 00:35:16 +00:00
fcab7d62d5 Revert of Add DesktopCapturer GetSourceList SelectSource FocusOnSelectedSource functions (patchset #3 id:120001 of https://codereview.chromium.org/2452263003/ )
Reason for revert:
Build break in Chromium

Original issue's description:
> Add DesktopCapturer GetSourceList SelectSource FocusOnSelectedSource functions
>
> I have chosen part of 2435603010 changes to compose this change.
> According to the discussion we have made in previous change, this CL contains,
> 1. Source structure to represent a source of a DesktopCapturer.
> 2. GetSourceList / SelectSource / FocusOnSelectedSource functions in
> DesktopCapturer.
> 3. ScreenCapturer and WindowCapturer forward corresponding functions to the new
> DesktopCapturer APIs.
>
> After this change, We can remove WindowCapturer & ScreenCapturer references from
> Chromium, and use the new APIs.
>
> BUG=webrtc:6513
>
> Committed: https://crrev.com/9cb0b3b4ac916cdf52d97a63d923dfbe73f0541e
> Cr-Commit-Position: refs/heads/master@{#14830}

TBR=sergeyu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2464553002
Cr-Commit-Position: refs/heads/master@{#14831}
2016-10-29 00:14:16 +00:00
9cb0b3b4ac Add DesktopCapturer GetSourceList SelectSource FocusOnSelectedSource functions
I have chosen part of 2435603010 changes to compose this change.
According to the discussion we have made in previous change, this CL contains,
1. Source structure to represent a source of a DesktopCapturer.
2. GetSourceList / SelectSource / FocusOnSelectedSource functions in
DesktopCapturer.
3. ScreenCapturer and WindowCapturer forward corresponding functions to the new
DesktopCapturer APIs.

After this change, We can remove WindowCapturer & ScreenCapturer references from
Chromium, and use the new APIs.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2452263003
Cr-Commit-Position: refs/heads/master@{#14830}
2016-10-29 00:07:00 +00:00
3e9a537601 Original CL: https://codereview.webrtc.org/2433153003/, commit 8b8d3e4c30e8ea3846b58dfd36d1fd35a7799df4.
Revert CL: https://codereview.webrtc.org/2456333002/, commit 48dfab5c58119a4e65c52506ed55f8de79725bcf.

The new function on the APM interface is no longer pure virtual.

BUG=webrtc:6525
TBR=solenberg@webrtc.org,peah@webrtc.org

Review-Url: https://codereview.webrtc.org/2458993002
Cr-Commit-Position: refs/heads/master@{#14827}
2016-10-28 14:55:39 +00:00
e2a0177255 Style cleanups in rtp header extension traits:
renamed kName to kUri and make it more const.
remove IsSupportedBy to reduce header dependency.

BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2457783005
Cr-Commit-Position: refs/heads/master@{#14825}
2016-10-28 14:09:04 +00:00
af27ed01d7 Add algorithm for Residual Echo Detector.
This algorithm calculates an estimate of the Pearson product-moment correlation coefficient between the power of 10ms audio buffers taken from the render and capture sides, for various different delay values.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2419563003
Cr-Commit-Position: refs/heads/master@{#14824}
2016-10-28 14:04:08 +00:00
c4b9b9419e Revert of Replace FileWrapper with File (in audio_device) (patchset #3 id:40001 of https://codereview.webrtc.org/2386963003/ )
Reason for revert:
Speculative revert. This CL is a plausible cause for breakages in internal projects.

Original issue's description:
> Removes all uses of FileWrapper in audio_device.
>
> BUG=webrtc:6463
>
> Committed: https://crrev.com/04055e95bf97d106053d90bcc9e974eb4ad175e6
> Cr-Commit-Position: refs/heads/master@{#14811}

TBR=sprang@webrtc.org,henrika@webrtc.org,palmkvist@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6463

Review-Url: https://codereview.webrtc.org/2459873002
Cr-Commit-Position: refs/heads/master@{#14822}
2016-10-28 13:52:04 +00:00
6ceab08322 GN: New conventions, default target and refactorings
Introduce a convention on categorizing GN targets:
1. Production code
2. Tests
3. Examples
4. Tools
The first two have targets spread out all over the tree,
while the latter are isolated to examples/ and tools/ directories.

Another new convention: Each directory's BUILD.gn file shall contain
a target named similar to the directory name. This target shall
contain the 'most common' production code, i.e. so that most
consumers of the directory can depend on only the directory
(which implicitly means that target in GN).

//webrtc:webrtc_tests is changed to depend on all WebRTC tests.
From now on, it's necessary to add new test targets to this dependency
tree in order to get them compiled.

Two new group targets are created:
//webrtc/modules/audio_coding:audio_coding_tests
//webrtc/modules/audio_processing:audio_processing_tests
to reduce the long list of tests in //webrtc:webrtc_tests.

Visibility on //webrtc:webrtc and  //webrtc:webrtc_tests is restricted
to the root target, to avoid circular dependencies due to the monolithic
property of these targets (a problem we've had in the past).

The 'root' target at the top level is renamed to 'default', which means GN will
build this target instead of _all_ generated targets
(see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default).
This target now depends on everything we want to build, meaning all targets now
explicitly needs to be wired up from the root target in order to get build.
Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build.

BUG=webrtc:6440
TESTED=git cl try --clobber
NOTRY=True

Review-Url: https://codereview.webrtc.org/2441383002
Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 12:44:07 +00:00
9f4a4a096b Add empty residual echo detector.
This CL does not contain the actual algorithm, but only creates an empty processing component and connects the right signals to it. The algorithm will be added in a follow-up CL.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2405403003
Cr-Commit-Position: refs/heads/master@{#14820}
2016-10-28 12:39:23 +00:00
f005a00094 Added calling of the stream_analog_level api in audioproc_f
The test program audioproc_f does not call the stream_analog_level
method. This should be done do
1) Ensure that proper log output is produced when reproducing a call.
2) Ensure that this method is properly tested.
3) Ensure that the correct side-effects are triggered (this method
   is not const).

BUG=webrtc:6564

Review-Url: https://codereview.webrtc.org/2449043008
Cr-Commit-Position: refs/heads/master@{#14817}
2016-10-28 12:02:39 +00:00
48dfab5c58 Revert of New statistics interface for APM (patchset #11 id:200001 of https://codereview.webrtc.org/2433153003/ )
Reason for revert:
This CL breaks internal dependencies.

Original issue's description:
> New statistics interface for APM
>
> This adds functions to enable and retrieve statistics from APM. These functions are not yet called, which will happen in a follow-up CL.
>
> BUG=webrtc:6525
>
> Committed: https://crrev.com/8b8d3e4c30e8ea3846b58dfd36d1fd35a7799df4
> Cr-Commit-Position: refs/heads/master@{#14810}

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

Review-Url: https://codereview.webrtc.org/2456333002
Cr-Commit-Position: refs/heads/master@{#14814}
2016-10-28 10:29:37 +00:00
135259ac8f In order to be able to analyze the AGC behavior on
aecdump recordings in an efficient manner, it is
important to be able to use a standardized analysis
script. For this to be feasible, data log points should
be present.

This CL adds those logpoints as well as the framework
needed to for those to work.

BUG=webrtc:6564

Review-Url: https://codereview.webrtc.org/2457783003
Cr-Commit-Position: refs/heads/master@{#14812}
2016-10-28 10:12:15 +00:00
04055e95bf Removes all uses of FileWrapper in audio_device.
BUG=webrtc:6463

Review-Url: https://codereview.webrtc.org/2386963003
Cr-Commit-Position: refs/heads/master@{#14811}
2016-10-28 09:08:29 +00:00
8b8d3e4c30 New statistics interface for APM
This adds functions to enable and retrieve statistics from APM. These functions are not yet called, which will happen in a follow-up CL.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2433153003
Cr-Commit-Position: refs/heads/master@{#14810}
2016-10-28 08:32:24 +00:00
37abf53116 Delete FrameObject::size member.
Replaced with a size() method, returning the corresponding attribute
(_length) of the underlying EncodedImage.

BUG=None

Review-Url: https://codereview.webrtc.org/2444193010
Cr-Commit-Position: refs/heads/master@{#14809}
2016-10-28 07:37:34 +00:00
11f72b1945 Fix compile error for non Intel platforms
Fixing compile error for non Intel platforms
when using C implemented fft functions
(for example, optimizations are not implemented for mips64el
and C functions must be used)

Adding bypass of presubmit to avoid code style and header
errors caused by the fact that files with legacy code are
being renamed.

NOPRESUBMIT=true
BUG=webrtc:6595
TEST=gn gen out-gn/mips64-android-webrtc --args="is_debug=false target_os=\"android\" target_cpu=\"mips64el\""
     ninja -C out-gn/mips64-android-webrtc audio_processing

Review-Url: https://codereview.webrtc.org/2442773002
Cr-Commit-Position: refs/heads/master@{#14808}
2016-10-28 06:44:15 +00:00
6be0a657c5 Move ScreenCapturer 'real' tests out of screen_capturer_unittest.cc.
This is a trivial change, I just cutted and pasted part of the code in
screen_capturer_unittest.cc to screen_capturer_integration_test.cc, removed
DISABLED_ prefixes, and updated build file.

BUG=webrtc:6366

Review-Url: https://codereview.webrtc.org/2444583002
Cr-Commit-Position: refs/heads/master@{#14806}
2016-10-27 23:50:43 +00:00
492ee28b73 Use bayesian estimate of acked bitrate.
This helps a lot to avoid reducing the bitrate too quickly when there's a short period of very few packets delivered, followed by the rate resuming at the regular rate. It specifically avoids the BWE going down to super low values as a response delay spikes.

BUG=webrtc:6566
R=terelius@webrtc.org

Review URL: https://codereview.webrtc.org/2422063002 .

Cr-Commit-Position: refs/heads/master@{#14802}
2016-10-27 15:19:34 +00:00
fe90b4176c Improves audio logs of native audio layers on Android
BUG=webrtc:6592,webrtc:6580

Review-Url: https://codereview.webrtc.org/2447683002
Cr-Commit-Position: refs/heads/master@{#14798}
2016-10-27 08:42:19 +00:00