Commit Graph

29175 Commits

Author SHA1 Message Date
9f17aff35b Roll chromium_revision 94041439f9..67eba1f62b (681228:681379)
Change log: 94041439f9..67eba1f62b
Full diff: 94041439f9..67eba1f62b

Changed dependencies
* src/base: b92e5b52e8..a0992bdcd3
* src/build: c02e38bc3d..e36ae524d9
* src/ios: 1492976133..a87556eeec
* src/testing: 5efdc1ca0c..f391f81ac8
* src/third_party: 7a81030700..dc1d83593b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/572296c638..ce4a26a406
* src/tools: 80453de709..97c481e2cf
DEPS diff: 94041439f9..67eba1f62b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ifa7ed500052923d900f23f8fb1728dc5b115cc26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147003
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28693}
2019-07-26 18:37:10 +00:00
cb11a310a6 Guard GenerateUniqueId() against concurrent access.
Both test and prod setups may use several signaling threads,
this CL prevents race conditions on GenerateUniqueId().

Bug: webrtc:9849
Change-Id: Iaec98b7b4f99729a9ad0642873a5d87de252cb1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147020
Commit-Queue: Yves Gerey <yvesg@google.com>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28692}
2019-07-26 17:52:49 +00:00
1704801226 Prevent concurrent access to AudioSendStream's configuration.
By design:
 * OnPacketAdded() is meant to be called on pacer thread.
 * Reconfigure()   is meant to be called on worker thread.
Thus we guard against race condition on config_ member.

Possible downside: packet filtering based on ssrc might be slowed down.

Bug: webrtc:9849
Change-Id: I734bb9b34b01db160705897adb1b58e866e12639
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146980
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28691}
2019-07-26 17:03:29 +00:00
378cae2543 Roll chromium_revision b6340b5158..94041439f9 (681123:681228)
Change log: b6340b5158..94041439f9
Full diff: b6340b5158..94041439f9

Changed dependencies
* src/base: 7faff4463c..b92e5b52e8
* src/build: 1a0a4bc2f1..c02e38bc3d
* src/ios: 5dea9934e6..1492976133
* src/testing: 9d70163229..5efdc1ca0c
* src/third_party: 55bfbb1970..7a81030700
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c581761466..572296c638
* src/third_party/depot_tools: 365720e237..e3614ad6f5
* src/tools: 82f0e4397b..80453de709
DEPS diff: b6340b5158..94041439f9/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: If11b73bdfad3d0c9e5a53ba95ab999697eb285d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146961
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28690}
2019-07-26 10:37:27 +00:00
d7ab56d4c2 Finish migrating rtc_tools/testing to python3.
No-Try: True
Bug: None
Change-Id: Ie092d01f9f24b7a995c81ad02c0759445e5c60d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146940
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28689}
2019-07-26 09:58:13 +00:00
67f88a0d30 Use print() instead of print in rtc_tools/ python scripts.
Bug: None
Change-Id: I065f8363583b0934b0b0e3d901b75d558514063c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146861
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28688}
2019-07-26 06:46:41 +00:00
be4fcb63a2 Roll chromium_revision 96a2369865..b6340b5158 (680738:681123)
Change log: 96a2369865..b6340b5158
Full diff: 96a2369865..b6340b5158

Changed dependencies
* src/base: b5492349e9..7faff4463c
* src/build: a558f2657b..1a0a4bc2f1
* src/ios: ddb87399cb..5dea9934e6
* src/testing: 992203660d..9d70163229
* src/third_party: adf7051fd6..55bfbb1970
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3dd1372096..c581761466
* src/third_party/depot_tools: 34cc05018d..365720e237
* src/third_party/ffmpeg: fff11548e7..e0e3133c40
* src/third_party/libvpx/source/libvpx: bb407a27b2..18d309c127
* src/tools: ce748f252c..82f0e4397b
DEPS diff: 96a2369865..b6340b5158/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: Ied503855289ffa6ac3cc17077c404e0eced4e056
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146921
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28687}
2019-07-26 03:28:10 +00:00
1a13c8f11a Add option to remove transport sequence number from FEC packet calculation
This is experimental field trial to exclude transport sequence number from FEC packets and should only be used in conjunction with datagram transport. Datagram transport removes transport sequence numbers from RTP packets and uses datagram feedback loop to re-generate RTCP feedback packets, but FEC contorol packets are calculated before sequence number is removed and as a result recovered packets will be corrupt unless we also remove transport sequence number during FEC calculations.

This change is a bit embarrassing, but it was the easiest workaround we found to make FEC work with datagrams. Added TODO to find better long term solution.

TODO(sukhanov): We need to find find better way to implement FEC with datagram transport, probably moving FEC to datagram integration layter. Wealso remove special field trial once we switch datagram path from RTCConfiguration flags to field trial and use the same field trial for FECworkaround.

Bug: webrtc:9719
Change-Id: I1e23c56e3cbaa087460410942fb6c5b4921a763e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146221
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28686}
2019-07-25 22:47:27 +00:00
2bac7da134 Optimize sending the MID and (R)RID header extensions
These RTP header extensions are used for Unified Plan SDP / BUNDLE and
replace SSRC signaling.

Previously, the RTPSender would attach these header extensions to every
packet when configured. Now, the header extensions will be attached to
every packet until the an RTCP RR is received on that SSRC which
indicates the receiver knows what MID/RID the SSRC is associated with.

This should reduce overhead by 2-4 bytes per packet when the MID header
extension is used and by 4-8 bytes when both header extensions are used.

Bug: webrtc:10078
Change-Id: I5fa3ce28a75224adf11d2792bf4ff8dc76e46d99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146480
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28685}
2019-07-25 19:23:14 +00:00
9c32ad1f4b Delete rtc_tools/barcode_tools.
These files are empty.

No-Try: True
Bug: None
Change-Id: I2e66886ed1ffaf3dcd6d7def59b768f0b47a3ba4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146860
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28684}
2019-07-25 16:54:36 +00:00
1f1731509c [readability-container-size-empty] Use empty() to check for emptiness.
Bug: None
Change-Id: If3cefd0f50521357a7fadef661954d2845246db6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146718
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28683}
2019-07-25 14:36:38 +00:00
733a78157d Migrate 2 test with Vp9 SVC test on PC framework
Bug: webrtc:10138
Change-Id: I6532fbaa392bfbf74337ffd879a707258053fc73
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146607
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28682}
2019-07-25 12:51:43 +00:00
575998c2da Add rtc_ prefix to the event_log_visualizer directory.
No-Try: True
Bug: None
Change-Id: Iaa2b273ddab6567321f11bf74a91751cbdf957a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146710
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28681}
2019-07-25 12:06:13 +00:00
a72d583271 Fix for potential out of bounds reading in rtcp::RemoteEstimate parser.
packet_size() includes the size of padding, this means that the size
check might incorrectly not trigger even if the payload is empty. In
turn this means that the ReadBigEndian call might read out of bounds
memory.

Refactored the code to reuse the App parsing code more, eliminating
the risk of this particular kind of error.

Bug: chromium:987507
Change-Id: Id8f3e292c3d30460d3cdb551f0a45070fdf8f022
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146716
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28680}
2019-07-25 10:54:05 +00:00
604e75c458 Fix some typos.
TBR=terelius@webrtc.org

No-Try: True
Bug: None
Change-Id: I68cbaeb8bcac6d06e55018f273bb25cbca8d9aad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146719
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28679}
2019-07-25 10:04:18 +00:00
97b6c757bc New pacer: make FlexFEC and Video priority equal
Perf dashboard show a very minor change with the new pacer, for tests
that use flexfec. I have found that previously fec was in fact
prioritized at the same level as video, see eg PacketTypeToPriority()
in RTPSender.

With the new pacer we put fec in between video and padding.
Not sure if this is in fact an actual problem. In the non-loss case
the frame latency should actually be slighly lower, but on the other
hand if we have loss fec won't be applied until after the full frame
has been sent and so we may end up sending NACK before we apply the
FEC and recover a packet.

Just to avoid any problems let's revert to the old behavior.

Bug: webrtc:10633
Change-Id: I9a4210a64165a6e376c0c70ccaa07b0688cc58a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146714
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28678}
2019-07-25 08:58:31 +00:00
b79f564b53 Switch neteq_rtpplay into an executable.
Bug: None
Change-Id: Iecfe4f59336081583850ebcef9e115821a3f27f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146715
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28677}
2019-07-25 08:45:21 +00:00
5cd1341588 Roll chromium_revision 5f77ce8944..96a2369865 (680616:680738)
Change log: 5f77ce8944..96a2369865
Full diff: 5f77ce8944..96a2369865

Changed dependencies
* src/base: c635ae1711..b5492349e9
* src/build: b62930bf29..a558f2657b
* src/buildtools: aeda9c123d..74cfb57006
* src/ios: 024c172496..ddb87399cb
* src/testing: 0291c4b1eb..992203660d
* src/third_party: 618bf67a51..adf7051fd6
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9f89d086a2..3dd1372096
* src/third_party/depot_tools: c420221f1d..34cc05018d
* src/tools: cc28e560d4..ce748f252c
DEPS diff: 5f77ce8944..96a2369865/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I93b28c472be76deee343b3acc73a8db455e0d46d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146840
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28676}
2019-07-25 04:45:23 +00:00
c96b1d55b6 Roll chromium_revision aa9c65938b..5f77ce8944 (680512:680616)
Change log: aa9c65938b..5f77ce8944
Full diff: aa9c65938b..5f77ce8944

Changed dependencies
* src/ios: 418eee99a2..024c172496
* src/testing: 505a71c688..0291c4b1eb
* src/third_party: a7d7afb748..618bf67a51
* src/tools: 9b5eea5ca3..cc28e560d4
DEPS diff: aa9c65938b..5f77ce8944/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Iad5624ce53709b3e002bf3519a8c6f1bbc8f58b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146822
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28675}
2019-07-24 22:31:44 +00:00
8da0bb5fe1 Roll chromium_revision fdd7489f1f..aa9c65938b (680383:680512)
Change log: fdd7489f1f..aa9c65938b
Full diff: fdd7489f1f..aa9c65938b

Changed dependencies
* src/base: c8fb5ab878..c635ae1711
* src/build: b00533f313..b62930bf29
* src/ios: 379d4be26f..418eee99a2
* src/testing: d706586475..505a71c688
* src/third_party: 00b89b0d95..a7d7afb748
* src/tools: aca39874c7..9b5eea5ca3
DEPS diff: fdd7489f1f..aa9c65938b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ifa933fd8eebd638a3513e7117e6fb9546509fb05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146820
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28674}
2019-07-24 18:31:36 +00:00
672a48d0d2 Add sprang@ as owner in modules/rtp_rtcp
Bug: None
Change-Id: I3aa2a0cf7eee229e8e9834313b343ab2808e0caa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146708
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28673}
2019-07-24 17:06:36 +00:00
8f319a3472 Reland "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.""
This reverts commit fab3460a821abe336ab610c6d6dfc0d392dac263.

Reason for revert: fix downstream instead

Original change's description:
> Revert "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.""
> 
> This reverts commit 9973933d2e606d64fcdc753acb9ba3afd6e30569.
> 
> Reason for revert: breaking downstream projects and not reviewed by direct owners
> 
> Original change's description:
> > Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
> > 
> > This reverts commit 24192c267a40eb7d6b1850489ccdbf7a84f8ff0f.
> > 
> > Reason for revert: Analyzed the performance regression in more detail.
> > 
> > Most of the regression comes from the extra RtpPacketInfos-related memory allocations in every `NetEq::GetAudio()` call. Commit 1796a820f60cb9429bf4bcf13a40a41794ac8fb0 has removed roughly 2/3rds of the extra allocations from the impacted perf tests. Remaining perf impact is expected to be about "8 microseconds of CPU time per second" on the Linux benchmarking machines and "15 us per second" on Windows/Mac.
> > 
> > There are options to optimize further but they are unlikely worth doing. Note for example that `NetEqPerformanceTest` uses the PCM codec while the real-world use cases would likely use the much heavier Opus codec. The numbers from `OpusSpeedTest` and `NetEqPerformanceTest` suggest that Opus decoding is about 10x as expensive as NetEq overall.
> > 
> > Original change's description:
> > > Revert "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
> > >
> > > This reverts commit 3e8ef940fe86cf6285afb80e68d2a0bedc631b9f.
> > >
> > > Reason for revert: This CL causes a performance regression in NetEq, see https://bugs.chromium.org/p/chromium/issues/detail?id=982260.
> > >
> > > Original change's description:
> > > > Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.
> > > >
> > > > This change adds the plumbing of RtpPacketInfo from ChannelReceive::OnRtpPacket() to ChannelReceive::GetAudioFrameWithInfo() for audio. It is a step towards replacing the non-spec compliant ContributingSources that updates itself at packet-receive time, with the spec-compliant SourceTracker that will update itself at frame-delivery-to-track time.
> > > >
> > > > Bug: webrtc:10668
> > > > Change-Id: I03385d6865bbc7bfbef7634f88de820a934f787a
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139890
> > > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > > Reviewed-by: Minyue Li <minyue@webrtc.org>
> > > > Commit-Queue: Chen Xing <chxg@google.com>
> > > > Cr-Commit-Position: refs/heads/master@{#28434}
> > >
> > > TBR=kwiberg@webrtc.org,stefan@webrtc.org,minyue@webrtc.org,chxg@google.com
> > >
> > > Bug: webrtc:10668, chromium:982260
> > > Change-Id: I5e2cfde78c59d1123e21869564d76ed3f6193a5c
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145339
> > > Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> > > Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#28561}
> > 
> > TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: webrtc:10668, chromium:982260
> > Change-Id: Ie375a0b327ee368317bf3a04b2f1415c3a974470
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146707
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Commit-Queue: Chen Xing <chxg@google.com>
> > Cr-Commit-Position: refs/heads/master@{#28664}
> 
> TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com
> 
> Change-Id: I652cb0814d83b514d3bee34e65ca3bb693099b22
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10668, chromium:982260
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146712
> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28671}

TBR=alessiob@webrtc.org,kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com

Change-Id: Id43b7b3da79b4f48004b41767482bae1c1fa1e16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10668, chromium:982260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146713
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28672}
2019-07-24 16:47:13 +00:00
fab3460a82 Revert "Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.""
This reverts commit 9973933d2e606d64fcdc753acb9ba3afd6e30569.

Reason for revert: breaking downstream projects and not reviewed by direct owners

Original change's description:
> Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
> 
> This reverts commit 24192c267a40eb7d6b1850489ccdbf7a84f8ff0f.
> 
> Reason for revert: Analyzed the performance regression in more detail.
> 
> Most of the regression comes from the extra RtpPacketInfos-related memory allocations in every `NetEq::GetAudio()` call. Commit 1796a820f60cb9429bf4bcf13a40a41794ac8fb0 has removed roughly 2/3rds of the extra allocations from the impacted perf tests. Remaining perf impact is expected to be about "8 microseconds of CPU time per second" on the Linux benchmarking machines and "15 us per second" on Windows/Mac.
> 
> There are options to optimize further but they are unlikely worth doing. Note for example that `NetEqPerformanceTest` uses the PCM codec while the real-world use cases would likely use the much heavier Opus codec. The numbers from `OpusSpeedTest` and `NetEqPerformanceTest` suggest that Opus decoding is about 10x as expensive as NetEq overall.
> 
> Original change's description:
> > Revert "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
> >
> > This reverts commit 3e8ef940fe86cf6285afb80e68d2a0bedc631b9f.
> >
> > Reason for revert: This CL causes a performance regression in NetEq, see https://bugs.chromium.org/p/chromium/issues/detail?id=982260.
> >
> > Original change's description:
> > > Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.
> > >
> > > This change adds the plumbing of RtpPacketInfo from ChannelReceive::OnRtpPacket() to ChannelReceive::GetAudioFrameWithInfo() for audio. It is a step towards replacing the non-spec compliant ContributingSources that updates itself at packet-receive time, with the spec-compliant SourceTracker that will update itself at frame-delivery-to-track time.
> > >
> > > Bug: webrtc:10668
> > > Change-Id: I03385d6865bbc7bfbef7634f88de820a934f787a
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139890
> > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > Reviewed-by: Minyue Li <minyue@webrtc.org>
> > > Commit-Queue: Chen Xing <chxg@google.com>
> > > Cr-Commit-Position: refs/heads/master@{#28434}
> >
> > TBR=kwiberg@webrtc.org,stefan@webrtc.org,minyue@webrtc.org,chxg@google.com
> >
> > Bug: webrtc:10668, chromium:982260
> > Change-Id: I5e2cfde78c59d1123e21869564d76ed3f6193a5c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145339
> > Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> > Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28561}
> 
> TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: webrtc:10668, chromium:982260
> Change-Id: Ie375a0b327ee368317bf3a04b2f1415c3a974470
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146707
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Chen Xing <chxg@google.com>
> Cr-Commit-Position: refs/heads/master@{#28664}

TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com

Change-Id: I652cb0814d83b514d3bee34e65ca3bb693099b22
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10668, chromium:982260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146712
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28671}
2019-07-24 16:41:13 +00:00
97321b687b Adds test for experimental remote estimate SDP negotiation.
Bug: webrtc:10742
Change-Id: I50d9caecda10c504cb4880c37475eeccd22c0855
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146705
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28670}
2019-07-24 15:29:24 +00:00
463d44a805 Don't crash when simulcast layer count is different from RID count
In some situation, we disable simulcast in the encoder pipeline without
changing the sender's RIDs and it would crash.
This should only happen now when requesting simulcast with VP9 codec,
for which you currently get SVC instead.

Bug: webrtc:10660
Change-Id: I4f3b3d7760aded8f0769f8357c03ed8580ea46fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145336
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28669}
2019-07-24 15:23:44 +00:00
418f0c5ff9 Fix rtp_analyzer tool
- Make rtp_analyzer work with a single SSRC
- Simplify rtp_analyzer.sh (it allows to run the python script
  from any directory)
- Update README.md (simplified, added missing dependency)

Bug: webrtc:10829
Change-Id: Idb82e7228918a973778762a39b732ce3b26b6bbc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146711
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28668}
2019-07-24 15:15:54 +00:00
7db19e0b02 Report congestion window updates on GoogCC time updates
In https://webrtc-review.googlesource.com/c/src/+/138275
the congestion window was recalculated during OnProcessInterval, as
to consider the case when downlink is down. However, this update
was not propagated to the congestion window pusback controller,
nor returned in the update.

This patch fixes that issue, as well as adding two tests to ensure
the behaviour works as expected.

Bug: None
Change-Id: Ic126d929dc7a7a3393a2f34a4682eea1ee1f2240
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146704
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28667}
2019-07-24 14:49:59 +00:00
a9fbb22dc5 Add a field trial for older applications to reduce the simulcast layer count
Some applications are having issues controlling how many active simulcast
layers they have and configuring them when the source track changes size
and rely on the old behavior automatically reducing the layer count.
Using the WebRTC-LegacySimulcastLayerLimit field trial, they can get back
the old behavior until they transition to the newer API.

Bug: webrtc:8785
Change-Id: I92d4dcd62b79a483a6a8867f97c5f502c6aa4db7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146709
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28666}
2019-07-24 14:41:32 +00:00
f640b87f1c Populate y-axis categorical labels in event log visualizer.
Bug: webrtc:10623
Change-Id: Ica2f6485e44ffa6331e88d7980c294d93bed1539
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145410
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28665}
2019-07-24 14:23:18 +00:00
9973933d2e Reland "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
This reverts commit 24192c267a40eb7d6b1850489ccdbf7a84f8ff0f.

Reason for revert: Analyzed the performance regression in more detail.

Most of the regression comes from the extra RtpPacketInfos-related memory allocations in every `NetEq::GetAudio()` call. Commit 1796a820f60cb9429bf4bcf13a40a41794ac8fb0 has removed roughly 2/3rds of the extra allocations from the impacted perf tests. Remaining perf impact is expected to be about "8 microseconds of CPU time per second" on the Linux benchmarking machines and "15 us per second" on Windows/Mac.

There are options to optimize further but they are unlikely worth doing. Note for example that `NetEqPerformanceTest` uses the PCM codec while the real-world use cases would likely use the much heavier Opus codec. The numbers from `OpusSpeedTest` and `NetEqPerformanceTest` suggest that Opus decoding is about 10x as expensive as NetEq overall.

Original change's description:
> Revert "Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker."
>
> This reverts commit 3e8ef940fe86cf6285afb80e68d2a0bedc631b9f.
>
> Reason for revert: This CL causes a performance regression in NetEq, see https://bugs.chromium.org/p/chromium/issues/detail?id=982260.
>
> Original change's description:
> > Add plumbing of RtpPacketInfos to each AudioFrame as input for SourceTracker.
> >
> > This change adds the plumbing of RtpPacketInfo from ChannelReceive::OnRtpPacket() to ChannelReceive::GetAudioFrameWithInfo() for audio. It is a step towards replacing the non-spec compliant ContributingSources that updates itself at packet-receive time, with the spec-compliant SourceTracker that will update itself at frame-delivery-to-track time.
> >
> > Bug: webrtc:10668
> > Change-Id: I03385d6865bbc7bfbef7634f88de820a934f787a
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139890
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Reviewed-by: Minyue Li <minyue@webrtc.org>
> > Commit-Queue: Chen Xing <chxg@google.com>
> > Cr-Commit-Position: refs/heads/master@{#28434}
>
> TBR=kwiberg@webrtc.org,stefan@webrtc.org,minyue@webrtc.org,chxg@google.com
>
> Bug: webrtc:10668, chromium:982260
> Change-Id: I5e2cfde78c59d1123e21869564d76ed3f6193a5c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145339
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28561}

TBR=kwiberg@webrtc.org,stefan@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org,chxg@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10668, chromium:982260
Change-Id: Ie375a0b327ee368317bf3a04b2f1415c3a974470
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146707
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#28664}
2019-07-24 14:15:28 +00:00
f2d97b8d58 Add usage message to event_log_visualizer.
Bug: webrtc:10616
Change-Id: I1623175abc7e60c1a3cf29e3d99fdde0e4140b1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146208
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28663}
2019-07-24 13:55:42 +00:00
aa59eca891 Move RtpPacketSender and merge it with RtpPacketPacer.
This interface is intended to only handle packet-sending parts of the
paced sender.

See https://webrtc-review.googlesource.com/c/src/+/145212 for context

Bug: webrtc:10809
Change-Id: I93f0b40e1865665c2d436db67021350a0ed0687b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145216
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28662}
2019-07-24 13:28:21 +00:00
55c4a42099 Add congestion window values to GoogCcPrinter
Bug: None
Change-Id: I9a31e9783f3ea8482281285c8454e24eb15f0925
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146706
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#28661}
2019-07-24 13:27:16 +00:00
c4f047d627 Make WebRTC-Pacer-LegacyPacketReferencing default off
This makes the code path where packets are directly owned by PacedSender
rather that being temporarily put in the RtpPacketHistory the default.

Functionally, this should essentially be a noop, with only minor timing
differences.

The old code-path will stay around for a short while and then be
removed once we are certain there are no regressions.

Bug: webrtc:10633
Change-Id: Id6360dea48fd0c9d46fde6f5eee93726d4f11d13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146212
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28660}
2019-07-24 13:05:56 +00:00
414e1b46ca Roll chromium_revision 5e244999c5..fdd7489f1f (680219:680383)
Change log: 5e244999c5..fdd7489f1f
Full diff: 5e244999c5..fdd7489f1f

Changed dependencies
* src/base: 5c44878134..c8fb5ab878
* src/build: e122797000..b00533f313
* src/ios: 2ba186d7c8..379d4be26f
* src/testing: 6897d4e6af..d706586475
* src/third_party: d78a730cee..00b89b0d95
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5f7b2c2ad2..9f89d086a2
* src/third_party/icu: fd97d4326f..682a230923
* src/tools: 2cdc672efe..aca39874c7
DEPS diff: 5e244999c5..fdd7489f1f/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ic65552bd70f6758026006e5b4624fc527a642e5c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146687
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28659}
2019-07-24 13:03:06 +00:00
6cacef2402 Reset packet history on ssrc/seqno reset
If the SSRC of an RTP module is changed at runtime, we may get conflicts
with packets already there. Eg:
* Put seq# 123 in the history for SSRC 1.
* Change the SSRC to 2.
* Send a NACK for seq# 123 from SSRC 2.

Currently, we will respond with the packet belonging to SSRC 1 (and not
if the NACK specifies SSRC 1, to boot).

We can gen similar issues if the sequence number is changed, where
half frame are left in the buffer.

In these cases, the stream is likely being reset so we should just
clear the packet history too.

Bug: webrtc:10794
Change-Id: I28147c2532cf1c78840d4808c4366d4a647541f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145729
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28658}
2019-07-24 12:52:23 +00:00
a57711c941 Fix issue with TransmissionOffset using new pacer code path
This CL fixes two issues related to the TransmissionOffset header
extension and the new (not yet active) pacer mode.

Previously capture time (if unset) would be populated when put into the
packet history before entering the pacer. Since the pacer now owns the
packets, this does not occur until packet is actually sent, if at all.
Capture has really nothing to do with the packet history, this should
be set by the RtpSender pre-pacing instead.

Furthermore, for retransmissions the old path would take the capture
time from the original packet, build the RTX-wrapped retransmission and
set the toffset extension of the RTX packet using that captured capture
time. Since RTX packets are now fully built before the pacer, this does
not work, and we need to transfer the capture time from the original to
the RTX packet instead.

Bug: webrtc:10633
Change-Id: I031e8b6cc4ab20fb094dbd46720829b78951e7f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146218
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28657}
2019-07-24 11:24:57 +00:00
54d9602fe1 Add y-axis tick labels.
This is intended to by used for visualizing catagorical data, i.e. mapping
numerical enum values to string labels.

Bug: webrtc:10623
Change-Id: Ic9c3da9a3874f479c07412f394a774ae90fd3d7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145408
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28656}
2019-07-24 11:00:57 +00:00
46bbdec1ab Allow AbsSendTime extension to be used for audio streams.
Bug: webrtc:10742
Change-Id: I565b58e9f8d70e09976775e0c87fe44c8f026e92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146701
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28655}
2019-07-24 10:58:37 +00:00
e1795f4158 Adds remote estimate RTCP packet.
This adds the RemoteEstimate rtcp packet and wires it up to GoogCC where
it's used to improve congestion controller behavior.

The functionality is negotiated using SDP.

It's added with a field trial that allow disabling the functionality in
case there's any issues.

Bug: webrtc:10742
Change-Id: I1ea8e4216a27cd2b00505c99b42d1e38726256c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146602
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28654}
2019-07-24 10:17:26 +00:00
1796a820f6 Add performance optimization for empty RtpPacketInfos.
Bug: webrtc:10668
Change-Id: I879afbb2d6aad77e9db97f8b6a938bf760aab9f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146703
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#28653}
2019-07-24 10:10:16 +00:00
bc6f113bd2 Roll chromium_revision 30f282ecdc..5e244999c5 (680117:680219)
Change log: 30f282ecdc..5e244999c5
Full diff: 30f282ecdc..5e244999c5

Changed dependencies
* src/base: 873df1d5e0..5c44878134
* src/ios: f19b964380..2ba186d7c8
* src/testing: f648669df2..6897d4e6af
* src/third_party: 5d2b72dcc1..d78a730cee
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/282f4dfee6..5f7b2c2ad2
* src/tools: 73b746fb8c..2cdc672efe
DEPS diff: 30f282ecdc..5e244999c5/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I30a5eb8ee8944801b46471a326226f475966f73d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146720
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28652}
2019-07-24 00:36:23 +00:00
f781bb57c3 [Unit test] Add check to prevent segfault on empty vector.
We rather have an unmet expectation than let the test crash.

Bug: webrtc:10827
Change-Id: I9e3d2dfb7cb856976305cd50377a71a2ed2ab4b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146700
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28651}
2019-07-23 22:12:49 +00:00
b9f5989e05 Remove legacy/unused RtpPacketHistory::StorageMode::kStore
The kStoreAndCull mode has been the default since May 3rd 2019:
https://webrtc.googlesource.com/src/+/d2a634447f42d6856656a9fcdb65d5845b736941

Let's clean away the old code.

Bug: webrtc:8975
Change-Id: I5f41b48b68aecce281cbb713e50db60c8a89da9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146213
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28650}
2019-07-23 21:20:50 +00:00
d48fbfc513 Roll chromium_revision 4a2e9a72c6..30f282ecdc (680003:680117)
Change log: 4a2e9a72c6..30f282ecdc
Full diff: 4a2e9a72c6..30f282ecdc

Changed dependencies
* src/base: e640294d88..873df1d5e0
* src/build: cec4d9f37c..e122797000
* src/buildtools: 67b293ca13..aeda9c123d
* src/buildtools/linux64: git_revision:972ed755f8e6d31cae9ba15fcd08136ae1a7886f..git_revision:152c5144ceed9592c20f0c8fd55769646077569b
* src/buildtools/mac: git_revision:972ed755f8e6d31cae9ba15fcd08136ae1a7886f..git_revision:152c5144ceed9592c20f0c8fd55769646077569b
* src/buildtools/win: git_revision:972ed755f8e6d31cae9ba15fcd08136ae1a7886f..git_revision:152c5144ceed9592c20f0c8fd55769646077569b
* src/ios: f1037b0efa..f19b964380
* src/testing: 0e2c31a7e4..f648669df2
* src/third_party: 6ca0968e6b..5d2b72dcc1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/249e608964..282f4dfee6
* src/tools: c573f89604..73b746fb8c
DEPS diff: 4a2e9a72c6..30f282ecdc/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I62620b6ae101f87f623bb65427329c99a36b68ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146682
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28649}
2019-07-23 20:32:08 +00:00
66c5bdff64 Roll chromium_revision 54f75614d2..4a2e9a72c6 (679885:680003)
Change log: 54f75614d2..4a2e9a72c6
Full diff: 54f75614d2..4a2e9a72c6

Changed dependencies
* src/base: 5d2a0d33d5..e640294d88
* src/build: 21f0d29253..cec4d9f37c
* src/ios: f487256b4a..f1037b0efa
* src/testing: 5e1cf8a4d0..0e2c31a7e4
* src/third_party: 44a886b579..6ca0968e6b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1855bc3168..249e608964
* src/tools: 43225ed512..c573f89604
DEPS diff: 54f75614d2..4a2e9a72c6/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I67f646e36c07b32915bf8be09f60b2633fffa858
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146680
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28648}
2019-07-23 16:36:32 +00:00
74a1b4b132 Only include payload in bytes sent/received.
According to https://www.w3.org/TR/webrtc-stats/#sentrtpstats-dict* and
https://tools.ietf.org/html/rfc3550#section-6.4.1, the bytes sent
statistic should not include headers or padding.

Similarly, according to
https://www.w3.org/TR/webrtc-stats/#inboundrtpstats-dict*, bytes
received are calculated the same way as bytes sent (eg. not including
padding or headers).

This change stops adding padding and headers to these statistics.

Bug: webrtc:8516,webrtc:10525
Change-Id: I891ad5a11a493cc3212afe93e13f62795bf4031f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146180
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28647}
2019-07-23 13:52:55 +00:00
cfefa0aef3 Revert "Record audio/video bytes sent in analyzer stream stats."
This reverts commit d978cb43c238ca24b2320acd7b656f446b906101.

Reason for revert: It breaks perf tests: https://ci.chromium.org/p/webrtc/builders/perf/Perf%20Android32%20(L%20Nexus4)/1561

Original change's description:
> Record audio/video bytes sent in analyzer stream stats.
> 
> For each SSRC report, record the number of bytes sent for that stream
> and expose them in analyzer stats.  These numbers can be used to
> determine useful metrics such as total media throughput (by adding the
> bytes sent for all streams) and overhead (by subtracting that amount
> from the total bytes sent to the network).
> 
> Bug: webrtc:9719
> Change-Id: I977bbd40acdd0a1ec64763ddd55a642b9a50f309
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146240
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28637}

TBR=mbonadei@webrtc.org,mellem@webrtc.org,titovartem@webrtc.org

Change-Id: I3e46307dd6ef121b9377b93fc8d9fa788245ea5f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146605
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28646}
2019-07-23 13:24:42 +00:00
61689ab063 Make api/video:encoded_image public.
Bug: webrtc:9378
Change-Id: I2cff5e1463f40af11fc011a41ecdddf3c763c4b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146601
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28645}
2019-07-23 13:05:19 +00:00
cbc91efaa0 Improve low bandwidth audio test instrumentatin, fix PC test
Bug: webrtc:10138
Change-Id: I1d72fcac642064e569f6aac259fd0b6e0cf5c8b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146603
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28644}
2019-07-23 11:54:10 +00:00