Commit Graph

5363 Commits

Author SHA1 Message Date
9def800b70 Added a flag to AudioCodecSpec to indicate adaptive bitrate support.
It's currently only used to ensure transport-cc is enabled for the format in question. It might be used to toggle more things in future.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2669583002
Cr-Commit-Position: refs/heads/master@{#16514}
2017-02-09 13:14:32 +00:00
cc452e1179 Reland of Add QP sum stats for received streams. (patchset #2 id:300001 of https://codereview.webrtc.org/2680893002/ )
Reason for revert:
Fix the problem.

Original issue's description:
> Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
>
> Reason for revert:
> Breaks downstream build.
>
> Original issue's description:
> > Add QP sum stats for received streams.
> >
> > This is not implemented yet in any of the decoders.
> >
> > BUG=webrtc:6541
> >
> > Review-Url: https://codereview.webrtc.org/2649133005
> > Cr-Commit-Position: refs/heads/master@{#16475}
> > Committed: ff0e72fd16
>
> TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2680893002 .
> Cr-Commit-Position: refs/heads/master@{#16480}
> Committed: 69fb2cca4d

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2681663005
Cr-Commit-Position: refs/heads/master@{#16511}
2017-02-09 12:53:45 +00:00
ed1850a71b Log information (at level LS_INFO) about which overuse estimator is used.
BUG=webrtc:7125

Review-Url: https://codereview.webrtc.org/2682893003
Cr-Commit-Position: refs/heads/master@{#16499}
2017-02-08 16:45:20 +00:00
87d11cdbca Reland of Avoid calling PostTask in audio callbacks (patchset #1 id:1 of https://codereview.webrtc.org/2684913003/ )
Reason for revert:
The reason for reverting was false alarm.

Original issue's description:
> Revert of Avoid calling PostTask in audio callbacks (patchset #6 id:100001 of https://codereview.webrtc.org/2663383004/ )
>
> Reason for revert:
> Speculative revert to see if this CL caused a change in performance tests.
>
> See https://bugs.chromium.org/p/chromium/issues/detail?id=689919 for details.
>
> Original issue's description:
> > Avoid calling PostTask in audio callbacks.
> >
> > We have seen that PostTask can consume some CPU and the way we used it
> > before (logging only) in the ADB is not worth the cost we see when
> > profiling.
> >
> > This CL simply moves frequent (trivial) stat updates from the task queue
> > to the native threads to avoid calling PostTask in each callback.
> > The reason for doing so before was to avoid locks but we can live without
> > them since races are benign here.
> >
> >
> > BUG=webrtc:7096
> >
> > Review-Url: https://codereview.webrtc.org/2663383004
> > Cr-Commit-Position: refs/heads/master@{#16429}
> > Committed: 77ce9a5541
>
> TBR=solenberg@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7096
>
> Review-Url: https://codereview.webrtc.org/2684913003
> Cr-Commit-Position: refs/heads/master@{#16490}
> Committed: fd8f102a84

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

Review-Url: https://codereview.webrtc.org/2687573003
Cr-Commit-Position: refs/heads/master@{#16497}
2017-02-08 15:16:56 +00:00
0e3213a18c Fix bug in BitrateProber where an old probe added at a high bitrate will stay active indefinitely if the bandwidth estimate becomes too low to probe at that bitrate.
This is solved by timing out probe clusters after 5 seconds of being initiated.

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

Review-Url: https://codereview.webrtc.org/2681733004 .
Cr-Commit-Position: refs/heads/master@{#16495}
2017-02-08 14:19:05 +00:00
e525d6aba6 Revert Make the new jitter buffer the default jitter buffer.
Speculative revert of https://codereview.chromium.org/2656983002/ to see if it fixes a downstream bug.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2682073003
Cr-Commit-Position: refs/heads/master@{#16492}
2017-02-08 13:25:42 +00:00
498ee8e816 Remove repeat flag from SendRTCP
It is always false

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2684023002
Cr-Commit-Position: refs/heads/master@{#16491}
2017-02-08 13:24:31 +00:00
fd8f102a84 Revert of Avoid calling PostTask in audio callbacks (patchset #6 id:100001 of https://codereview.webrtc.org/2663383004/ )
Reason for revert:
Speculative revert to see if this CL caused a change in performance tests.

See https://bugs.chromium.org/p/chromium/issues/detail?id=689919 for details.

Original issue's description:
> Avoid calling PostTask in audio callbacks.
>
> We have seen that PostTask can consume some CPU and the way we used it
> before (logging only) in the ADB is not worth the cost we see when
> profiling.
>
> This CL simply moves frequent (trivial) stat updates from the task queue
> to the native threads to avoid calling PostTask in each callback.
> The reason for doing so before was to avoid locks but we can live without
> them since races are benign here.
>
>
> BUG=webrtc:7096
>
> Review-Url: https://codereview.webrtc.org/2663383004
> Cr-Commit-Position: refs/heads/master@{#16429}
> Committed: 77ce9a5541

TBR=solenberg@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7096

Review-Url: https://codereview.webrtc.org/2684913003
Cr-Commit-Position: refs/heads/master@{#16490}
2017-02-08 13:23:15 +00:00
219208991b Adding full initial version of delay estimation functionality in echo
canceller 3

This CL adds code to the all the delay estimation functionality that is
available for the first version of echo canceller 3. The code completes
the class EchoPathDelayEstimator.

Note that this code does not yet include any handling of clock-drift so
there will be upcoming versions of this code.

Also note that the CL includes some minor changes in other files for
echo canceller 3.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2644123002
Cr-Commit-Position: refs/heads/master@{#16489}
2017-02-08 13:08:56 +00:00
69fb2cca4d Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
Reason for revert:
Breaks downstream build.

Original issue's description:
> Add QP sum stats for received streams.
>
> This is not implemented yet in any of the decoders.
>
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2649133005
> Cr-Commit-Position: refs/heads/master@{#16475}
> Committed: ff0e72fd16

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2680893002 .
Cr-Commit-Position: refs/heads/master@{#16480}
2017-02-07 18:59:25 +00:00
ff0e72fd16 Add QP sum stats for received streams.
This is not implemented yet in any of the decoders.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2649133005
Cr-Commit-Position: refs/heads/master@{#16475}
2017-02-07 15:15:17 +00:00
2bc6864278 Reland of Drop frames until specified bitrate is achieved. (patchset #1 id:1 of https://codereview.webrtc.org/2666303002/ )
Reason for revert:
Perf test broke as it made assumptions that quality scaling was turned off. This turns out not to be the case. Fixed by turning quality scaling off for the tests.

Original issue's description:
> Revert of Drop frames until specified bitrate is achieved. (patchset #12 id:240001 of https://codereview.webrtc.org/2630333002/ )
>
> Reason for revert:
> due to failures on perf tests (not on perf stats, but fails running due to dcheck failures), see e.g., https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20(K%20Nexus5)
>
> Original issue's description:
> > Drop frames until specified bitrate is achieved.
> >
> > This CL fixes a regression introduced with the new quality scaler
> > where the video would no longer start in a scaled mode. This CL adds
> > code that compares incoming captured frames to the target bitrate,
> > and if they are found to be too large, they are dropped and sinkWants
> > set to a lower resolution. The number of dropped frames should be low
> > (0-4 in most cases) and should not introduce a noticeable delay, or
> > at least should be preferrable to having the first 2-4 seconds of video
> > have very low quality.
> >
> > BUG=webrtc:6953
> >
> > Review-Url: https://codereview.webrtc.org/2630333002
> > Cr-Commit-Position: refs/heads/master@{#16391}
> > Committed: 83399caec5
>
> TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6953
>
> Review-Url: https://codereview.webrtc.org/2666303002
> Cr-Commit-Position: refs/heads/master@{#16395}
> Committed: 35fc2aa82f

TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,minyue@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6953

Review-Url: https://codereview.webrtc.org/2675223002
Cr-Commit-Position: refs/heads/master@{#16473}
2017-02-07 15:02:22 +00:00
87b8e9f3a2 Add missing dependency to audio_decoder_unittests.
BUG=None
NOTRY=True
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2684573002
Cr-Commit-Position: refs/heads/master@{#16470}
2017-02-07 14:26:29 +00:00
e0ac5a6c15 Use std::unique_ptr in VideoProcessorIntegrationTest.
Add more logging of codec settings.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2639203005
Cr-Commit-Position: refs/heads/master@{#16464}
2017-02-07 11:54:04 +00:00
1634e16042 Remove use of selectors matching Apple private API names.
This was causing some apps that include WebRTC to be rejected from the
app store.

BUG=webrtc:6382

Review-Url: https://codereview.webrtc.org/2679913002
Cr-Commit-Position: refs/heads/master@{#16462}
2017-02-07 10:48:55 +00:00
4a9a595ab4 Make rtcp packets copyable
That would simplify their usage in tests where perfomance is not critical.

BUG=None

Review-Url: https://codereview.webrtc.org/2675713005
Cr-Commit-Position: refs/heads/master@{#16461}
2017-02-07 09:53:04 +00:00
b77c716d8a Enable send-side BWE by default for video in call tests.
Also fixes a bug where RTCP transport feedback was sent even though RTCP was disabled.

May affect perf numbers since the behavior of the send-side BWE differs a lot from the recv-side BWE.

BUG=webrtc:7111

Review-Url: https://codereview.webrtc.org/2669413003
Cr-Commit-Position: refs/heads/master@{#16451}
2017-02-06 14:29:38 +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
61202ac2ea Ensure that AEC3 is not run in tandem with AEC2
AEC3 and AEC2 are separate submodules in APM. This CL ensures that AEC3
deactivates AEC2 if both are active at the same time.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2675863004
Cr-Commit-Position: refs/heads/master@{#16443}
2017-02-06 11:39:42 +00:00
237e1bbf76 Fix potential use after free in H264 packetizer.
BUG=webrtc:7116

Review-Url: https://codereview.webrtc.org/2677073002
Cr-Commit-Position: refs/heads/master@{#16442}
2017-02-06 11:02:15 +00:00
656610fbe7 Move frame_generator_capture.{cc, h} and video_capturer.h to video_test_common.
Remove video_capture as a dependency of test_common and add it as a dependency of modules_unittests, as it was before the refactor in https://codereview.webrtc.org/2629923002

BUG=webrtc:7037
NOTRY=True

Review-Url: https://codereview.webrtc.org/2666113003
Cr-Commit-Position: refs/heads/master@{#16439}
2017-02-06 10:21:11 +00:00
a7111eb45a Fixing an error in ANA FrameLengthController unittest.
BUG=None
NOTRY=True
TBR=henrik.lundin@webrtc.org

Review-Url: https://codereview.webrtc.org/2675573007
Cr-Commit-Position: refs/heads/master@{#16438}
2017-02-06 10:20:00 +00:00
53b6cc3832 Reland of Enable audio streams to send padding. (patchset #4 id:60001 of https://codereview.webrtc.org/2652893004/ )
Original issue's description:
> Enable audio streams to send padding.
>
> Useful if bitrate probing is to be used with audio streams.
>
> BUG=webrtc:7043
>
> Review-Url: https://codereview.webrtc.org/2652893004
> Cr-Commit-Position: refs/heads/master@{#16404}
> Committed: e35f89a484

BUG=webrtc:7043

Review-Url: https://codereview.webrtc.org/2675703002
Cr-Commit-Position: refs/heads/master@{#16433}
2017-02-03 16:13:57 +00:00
4cb1b7546b Extends timer from 10 to 30 seconds for output volume check on Android.
The timer is only used for logging purposes and we can save CPU by
checking the volume less often.

BUG=webrtc:7096

Review-Url: https://codereview.webrtc.org/2669323003
Cr-Commit-Position: refs/heads/master@{#16430}
2017-02-03 11:39:47 +00:00
77ce9a5541 Avoid calling PostTask in audio callbacks.
We have seen that PostTask can consume some CPU and the way we used it
before (logging only) in the ADB is not worth the cost we see when
profiling.

This CL simply moves frequent (trivial) stat updates from the task queue
to the native threads to avoid calling PostTask in each callback.
The reason for doing so before was to avoid locks but we can live without
them since races are benign here.

BUG=webrtc:7096

Review-Url: https://codereview.webrtc.org/2663383004
Cr-Commit-Position: refs/heads/master@{#16429}
2017-02-03 10:19:17 +00:00
a24a9e2fa6 Get rid of unqualified std:: types.
BUG=NONE
TBR=stefan@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2675523003
Cr-Commit-Position: refs/heads/master@{#16425}
2017-02-03 00:04:36 +00:00
b55bd5fef0 Don't capture variables explicitly in lambda expression.
As it is, the test fails to compile on some downstream compilers with the following error:

webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:316:25: error: lambda capture 'kPayloadLength' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
      .WillOnce(Invoke([kPayloadLength, kFirstSequenceNumber, kFirstTimestamp,
                        ^
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:316:41: error: lambda capture 'kFirstSequenceNumber' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
      .WillOnce(Invoke([kPayloadLength, kFirstSequenceNumber, kFirstTimestamp,
                                        ^
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:316:63: error: lambda capture 'kFirstTimestamp' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
      .WillOnce(Invoke([kPayloadLength, kFirstSequenceNumber, kFirstTimestamp,
                                                              ^
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:317:25: error: lambda capture 'kFirstReceiveTime' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
                        kFirstReceiveTime](const SdpAudioFormat& format,

BUG=webrtc:7107

Review-Url: https://codereview.webrtc.org/2672823002
Cr-Commit-Position: refs/heads/master@{#16422}
2017-02-02 19:51:21 +00:00
e5bd70223d Reland of Make the new jitter buffer the default jitter buffer. (patchset #2 id:260001 of https://codereview.chromium.org/2656983002/ )
Reason for revert:
Incoming fix: https://codereview.chromium.org/2675693002/

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:290001 of https://codereview.chromium.org/2652043005/ )
>
> Reason for revert:
> Breaks downstream bots
>
> Original issue's description:
> > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.webrtc.org/2638423003/ )
> >
> > Reason for revert:
> > Bugfixes related to the new jitter buffer has landed.
> >
> > Original issue's description:
> > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
> > >
> > > Reason for revert:
> > > Breaks tests downstream.
> > >
> > > Original issue's description:
> > > > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
> > > >
> > > > Reason for revert:
> > > > Fix in this CL: https://codereview.chromium.org/2640793003/
> > > >
> > > > Original issue's description:
> > > > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> > > > >
> > > > > Reason for revert:
> > > > > Breaks android bots.
> > > > >
> > > > > Original issue's description:
> > > > > > Make the new jitter buffer the default jitter buffer.
> > > > > >
> > > > > > This CL contains only the changes necessary to make the switch to the new jitter
> > > > > > buffer, clean up will be done in follow up CLs.
> > > > > >
> > > > > > In this CL:
> > > > > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > > > > >    new video jitter buffer the default one.
> > > > > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > > > > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > > > > >
> > > > > > BUG=webrtc:5514
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2627463004
> > > > > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > > > > Committed: 0f0763d86d
> > > > >
> > > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > > NOPRESUBMIT=true
> > > > > NOTREECHECKS=true
> > > > > NOTRY=true
> > > > > BUG=webrtc:5514
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2632123005
> > > > > Cr-Commit-Position: refs/heads/master@{#16117}
> > > > > Committed: c08c191f7d
> > > >
> > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:5514
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2642753002
> > > > Cr-Commit-Position: refs/heads/master@{#16149}
> > > > Committed: f20dd0014d
> > >
> > > TBR=stefan@webrtc.org,terelius@webrtc.org,philipel@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2638423003
> > > Cr-Commit-Position: refs/heads/master@{#16159}
> > > Committed: 04926b8264
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2652043005
> > Cr-Commit-Position: refs/heads/master@{#16293}
> > Committed: 09d6ef00fc
>
> TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2656983002
> Cr-Commit-Position: refs/heads/master@{#16316}
> Committed: 27378f39ce

TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2670183002
Cr-Commit-Position: refs/heads/master@{#16420}
2017-02-02 17:53:00 +00:00
8c61924b56 video_coding::PacketBuffer now group all H264 packets with the same timestamp into the same frame.
Since we can't know when a H264 frame really starts we instead group all packets together by timestamp when a frame seems to be complete (only in the case of H264).

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2675693002
Cr-Commit-Position: refs/heads/master@{#16419}
2017-02-02 16:51:29 +00:00
1dffc62843 Remove all occurrences of "using std::string".
BUG=webrtc:7104
NOTRY=True

Review-Url: https://codereview.webrtc.org/2675723002
Cr-Commit-Position: refs/heads/master@{#16418}
2017-02-02 16:10:00 +00:00
a55f021d43 Add 120ms frame ability to ANA
BUG=webrtc:7093

Review-Url: https://codereview.webrtc.org/2669733002
Cr-Commit-Position: refs/heads/master@{#16416}
2017-02-02 15:47:19 +00:00
b33eed2e42 Fix perf issue when timinig out receiver infos in RTCP.
BUG=b/33270241

Review-Url: https://codereview.webrtc.org/2664163002
Cr-Commit-Position: refs/heads/master@{#16414}
2017-02-02 11:57:02 +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
2e03c66119 Adding build switch for Opus that supports 120ms ptime.
BUG=webrtc:7097

TEST=Set "ptime=120", try WebRTC calls over custom build Chromium with and without Opus 120ms. Try both Chromium w <-> Chromium w and Chromium w <-> Chromium w/o

Review-Url: https://codereview.webrtc.org/2668633004
Cr-Commit-Position: refs/heads/master@{#16408}
2017-02-02 01:31:11 +00:00
d3d3ba5159 Revert of Enable audio streams to send padding. (patchset #4 id:60001 of https://codereview.webrtc.org/2652893004/ )
Reason for revert:
Speculatively reverting, since Android end-to-end tests (such as https://build.chromium.org/p/client.webrtc/builders/Android64%20%28M%20Nexus5X%29) started failing.

Original issue's description:
> Enable audio streams to send padding.
>
> Useful if bitrate probing is to be used with audio streams.
>
> BUG=webrtc:7043
>
> Review-Url: https://codereview.webrtc.org/2652893004
> Cr-Commit-Position: refs/heads/master@{#16404}
> Committed: e35f89a484

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

Review-Url: https://codereview.webrtc.org/2669033003
Cr-Commit-Position: refs/heads/master@{#16407}
2017-02-01 23:45:53 +00:00
e35f89a484 Enable audio streams to send padding.
Useful if bitrate probing is to be used with audio streams.

BUG=webrtc:7043

Review-Url: https://codereview.webrtc.org/2652893004
Cr-Commit-Position: refs/heads/master@{#16404}
2017-02-01 17:06:25 +00:00
b1ca073db4 Rename adaptation api methods, extended vie_encoder unit test.
Use AdaptDown/AdaptUp instead of ScaleDown/ScaleUp, since we may want to
adapt using other means than resolution.

Also, extend vie_encoder with unit test that actually uses frames scaled
to resolution as determined by VideoAdapter, since that seems to be the
default implementation.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2652893015
Cr-Commit-Position: refs/heads/master@{#16402}
2017-02-01 16:38:12 +00:00
099110cf4b Don't send audio packets if the network is down.
BUG=webrtc:7083

Review-Url: https://codereview.webrtc.org/2664213002
Cr-Commit-Position: refs/heads/master@{#16397}
2017-02-01 11:57:42 +00:00
4637b6afca Consistent 30% improvement in audio mixer running time.
(Or, in less flattering terms, fixing a performance issue introduced
a few months ago by me).

In GN release mode (is_debug = false), the version of the mixer code
before this CL generated code that multiplied each sample (tens of
thousands/second for each input stream) with a floating point number.
This number is almost always exactly 1.0f. The only situation when it's
not 1 is when an audio steam is added or removed.

For one input stream early return leads to a 30% improvement of audio
mixing time profiled on x86-64 under a release build (is_debug = false,
enable_profiling, enable_full_stack_frames_for_profiling) with 16kHz and no
APM limiter. There can be up to 3 streams.

BUG=chromium:687502

Review-Url: https://codereview.webrtc.org/2659423002
Cr-Commit-Position: refs/heads/master@{#16396}
2017-02-01 11:43:31 +00:00
35fc2aa82f Revert of Drop frames until specified bitrate is achieved. (patchset #12 id:240001 of https://codereview.webrtc.org/2630333002/ )
Reason for revert:
due to failures on perf tests (not on perf stats, but fails running due to dcheck failures), see e.g., https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20(K%20Nexus5)

Original issue's description:
> Drop frames until specified bitrate is achieved.
>
> This CL fixes a regression introduced with the new quality scaler
> where the video would no longer start in a scaled mode. This CL adds
> code that compares incoming captured frames to the target bitrate,
> and if they are found to be too large, they are dropped and sinkWants
> set to a lower resolution. The number of dropped frames should be low
> (0-4 in most cases) and should not introduce a noticeable delay, or
> at least should be preferrable to having the first 2-4 seconds of video
> have very low quality.
>
> BUG=webrtc:6953
>
> Review-Url: https://codereview.webrtc.org/2630333002
> Cr-Commit-Position: refs/heads/master@{#16391}
> Committed: 83399caec5

TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6953

Review-Url: https://codereview.webrtc.org/2666303002
Cr-Commit-Position: refs/heads/master@{#16395}
2017-02-01 11:14:00 +00:00
83399caec5 Drop frames until specified bitrate is achieved.
This CL fixes a regression introduced with the new quality scaler
where the video would no longer start in a scaled mode. This CL adds
code that compares incoming captured frames to the target bitrate,
and if they are found to be too large, they are dropped and sinkWants
set to a lower resolution. The number of dropped frames should be low
(0-4 in most cases) and should not introduce a noticeable delay, or
at least should be preferrable to having the first 2-4 seconds of video
have very low quality.

BUG=webrtc:6953

Review-Url: https://codereview.webrtc.org/2630333002
Cr-Commit-Position: refs/heads/master@{#16391}
2017-02-01 09:31:52 +00:00
ac61b745df Refactor FakeAudioDevice to have separate methods for starting recording and playout.
Also, change FakeAudioDevice to generate a sine tone instead of using a file.

TBR=henrika@webrtc.org, stefan@webrtc.org

BUG=webrtc:7080

Review-Url: https://codereview.webrtc.org/2652803002
Cr-Commit-Position: refs/heads/master@{#16385}
2017-01-31 21:32:49 +00:00
1c056254a6 Fix race condition in FrameBuffer2
If the frame buffer is cleared while the decoding thread is waiting to acquire
the lock in order to return the |next_frame_it| will be invalidated.

BUG=chromium:679306

Review-Url: https://codereview.webrtc.org/2668743002
Cr-Commit-Position: refs/heads/master@{#16384}
2017-01-31 17:53:12 +00:00
54340d8e75 Change opus min bitrate.
BUG=webrtc:7087

Review-Url: https://codereview.webrtc.org/2668693003
Cr-Commit-Position: refs/heads/master@{#16383}
2017-01-31 17:06:53 +00:00
7f08e82251 Fix per regression in probing.
BUG=chromium:687030

Review-Url: https://codereview.webrtc.org/2664193002
Cr-Commit-Position: refs/heads/master@{#16381}
2017-01-31 15:49:28 +00:00
0fe1216c9c Move more calls to webrtc::field_trial::FindFullName into ctor, thereby minimizing the non-trivial cost of repeated string comparisons.
BUG=webrtc:7059

Review-Url: https://codereview.webrtc.org/2657863002
Cr-Commit-Position: refs/heads/master@{#16378}
2017-01-31 13:48:37 +00:00
c14b7ed479 iSAC float decoder: Don't read past end of initialized part of buffer
We read past the end of the initialized part of the buffer, seemingly
on purpose (no one knows the details of this code anymore). The right
thing to do is probably to zero that part of the buffer.

(The *right* right thing to would be to rewrite this so that it was
easier to see what data was supposed to be where when, but
priorities...)

BUG=chromium:683040

Review-Url: https://codereview.webrtc.org/2659383002
Cr-Commit-Position: refs/heads/master@{#16365}
2017-01-30 20:17:05 +00:00
a6a6d65278 Instantly pass network changes to controllers in audio network adaptor.
This allows controllers to do internal logic upon the network metric changes, e.g., filtering.

BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2643133003
Cr-Commit-Position: refs/heads/master@{#16363}
2017-01-30 18:50:00 +00:00
a6ca518dd5 iSAC: Untangle some cyclic dependencies
BUG=webrtc:6828, webrtc:7042

Review-Url: https://codereview.webrtc.org/2656823005
Cr-Commit-Position: refs/heads/master@{#16358}
2017-01-30 13:28:54 +00:00
9cbb0a16e5 Reland of GN: Refactor modules_unittests to eliminate package boundary violations. (patchset #1 id:1 of https://codereview.webrtc.org/2651023005/ )
Reason for revert:
Will change the name from bwe_simulator to bwe_simulator_test.

Original issue's description:
> Revert of GN: Refactor modules_unittests to eliminate package boundary violations. (patchset #4 id:130001 of https://codereview.webrtc.org/2649563002/ )
>
> Reason for revert:
> Did break the bots.
> https://build.chromium.org/p/client.webrtc/builders/iOS32%20Release/builds/9807
>
> Original issue's description:
> > GN: Refactor modules_unittests to eliminate package boundary violations.
> >
> > Also move bwe_simulator to webrtc/modules/remote_bitrate_estimator
> >
> > BUG=webrtc:6954
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2649563002
> > Cr-Commit-Position: refs/heads/master@{#16270}
> > Committed: 36cb55d715
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2651023005
> Cr-Commit-Position: refs/heads/master@{#16271}
> Committed: 3373eaa577

R=kjellander@webrtc.org
NOTRY=true
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2653173003
Cr-Commit-Position: refs/heads/master@{#16356}
2017-01-30 11:07:03 +00:00