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}
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}
Writable() and the related signal are already part of rtc::PacketTransportInterface. Sense of code symmetry aesthetics dictates that receiving() and the related signal should be declared in the same place.
BUG=webrtc:6531
Review-Url: https://codereview.webrtc.org/2444793003
Cr-Commit-Position: refs/heads/master@{#14865}
Reason for revert:
Breaks Chrome FYI.
peerconnection_unittest calls RTCStatsReport::Create without parameters.
Original issue's description:
> RTCOutboundRTPStreamStats[1] added.
>
> This also adds RTCRTPStreamStats[2] which it derives from. Not all stats
> are supported in this CL, this must be addressed before closing the
> issue.
>
> RTCStatsReport also gets a timestamp and ToString.
>
> [1] https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*
> [2] https://w3c.github.io/webrtc-stats/#streamstats-dict*
>
> BUG=chromium:627816, chromium:657856, chromium:657854
>
> Committed: https://crrev.com/69e9cb08285f6cbcab547c7a5e6aa668fa6f2d29
> Cr-Commit-Position: refs/heads/master@{#14860}
TBR=hta@webrtc.org,deadbeef@webrtc.org,hbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:627816, chromium:657856, chromium:657854
Review-Url: https://codereview.webrtc.org/2465223002
Cr-Commit-Position: refs/heads/master@{#14863}
Reason for revert:
Dependend cl Breaks Chrome FYI.
peerconnection_unittest anropar RTCStatsReport::Create without parameters.
Original issue's description:
> RTCInboundRTPStreamStats[1] added.
>
> Not all stats are collected in this CL, this must be addressed before
> closing the issue.
>
> [1] https://w3c.github.io/webrtc-stats/#inboundrtpstats-dict*
>
> BUG=chromium:627816, chromium:657855, chromium:657854
>
> Committed: https://crrev.com/0d7bf169402ea9345d163998f4f7df89229ac470
> Cr-Commit-Position: refs/heads/master@{#14861}
TBR=hta@webrtc.org,deadbeef@webrtc.org,hbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:627816, chromium:657855, chromium:657854
Review-Url: https://codereview.webrtc.org/2470683002
Cr-Commit-Position: refs/heads/master@{#14862}
- The legacy API is not used in WVoE/MC.
- Removed use of the API (along with StartReceive()) from unit tests.
BUG=webrtc:4690
Review-Url: https://codereview.webrtc.org/2453243003
Cr-Commit-Position: refs/heads/master@{#14858}
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}
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}
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}
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}
This is a pure "rename CL". No functional changes are intended.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2447083002
Cr-Commit-Position: refs/heads/master@{#14843}
This is a pure "rename CL". No functional changes are intended.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2449053002
Cr-Commit-Position: refs/heads/master@{#14841}
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}
The requirements have been relaxed a little bit which should allow the test to pass on our VMs that run the tests.
BUG=6610
Review-Url: https://codereview.webrtc.org/2458713005
Cr-Commit-Position: refs/heads/master@{#14836}
Ultimately, all of webrtc/media/devices should be deleted, since it is
unused in webrtc and has no unit tests. But for the time being we
need to keep cricket::GtkVideoRenderer since there are a few
applications depending on it.
BUG=webrtc:5924
Review-Url: https://codereview.webrtc.org/2460793002
Cr-Commit-Position: refs/heads/master@{#14835}
Restoring a line from the older version (GYP-days) of the
build_ios_libs.sh script: modifying PATH so that the
PlistBuddy utility can be successfully found and called,
as it normally is not available under the PATH directories
in a typical OS X environment (even on developer configs).
NOTRY=True
BUG=webrtc:6372
Review-Url: https://codereview.webrtc.org/2463623002
Cr-Commit-Position: refs/heads/master@{#14834}
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}
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}
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}
This test was expecting tones to be sent at specific times, with a 100ms
margin of error, causing slower bots or bots with less precise timing to
fail the test occasionally.
BUG=webrtc:4219,webrtc:5657
Review-Url: https://codereview.webrtc.org/2447013007
Cr-Commit-Position: refs/heads/master@{#14828}
This CL introduces two new functions to the WebRtcVideoEncoderFactory
interface based on cricket::VideoFormat instead of
WebRtcVideoEncoderFactory::VideoCodec. The functions are:
WebRtcVideoEncoderFactory::CreateVideoEncoder() and
WebRtcVideoEncoderFactory::supported_codecs(). In order to make a smooth
transition to the new interface, the old functions are kept, and default
implementations are provided for both the old and new functions so that
external clients can switch from the old to the new functions in peace.
The default implementations will just convert between
cricket::VideoFormat and WebRtcVideoEncoderFactory::VideoCodec. Once all
external clients have updated their code, the plan is to remove the old
functions and all default implementations to make
WebRtcVideoEncoderFactory a pure interface again.
BUG=webrtc:6402,webrtc:6337
Review-Url: https://codereview.webrtc.org/2449993003
Cr-Commit-Position: refs/heads/master@{#14826}
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}
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}
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}
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}