40 Commits

Author SHA1 Message Date
Karl Wiberg
65c392265f Move some more numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  histogram_percentile_counter.h
  mathutils.h
  mod_ops.h
  moving_max_counter.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I78a999984a27ef935be2d7c3136475d5f209adda
Reviewed-on: https://webrtc-review.googlesource.com/20870
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20832}
2017-11-22 12:39:39 +00:00
Karl Wiberg
e40468ba3d Move some numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  safe_compare.h
  safe_conversions.h
  safe_minmax.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
Zhi Huang
942bc2e4b9 Reland: Replaced the SignalSelectedCandidatePairChanged with a new signal.
|packet_overhead| field is added to rtc::NetworkRoute structure.

In PackTransportInternal:
1. network_route() is added which returns the current network route.
2. debug_name() is removed.
3. transport_name() is moved from DtlsTransportInternal and
IceTransportInternal to PacketTransportInternal.

When the selected candidate pair is changed, the P2PTransportChannel
will fire the SignalNetworkRouteChanged instead of
SignalSelectedCandidatePairChanged to upper layers.

The Rtp/SrtpTransport takes the responsibility of calculating the
transport overhead from the BaseChannel so that the BaseChannel
doesn't need to depend on P2P layer transports.

TBR=pthatcher@webrtc.org

Bug: webrtc:7013
Change-Id: If9928b25a7259544c2d9c42048b53ab24292fc67
Reviewed-on: https://webrtc-review.googlesource.com/22767
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20664}
2017-11-13 22:50:11 +00:00
Zhi Huang
8c316c1a89 Revert "Replaced the SignalSelectedCandidatePairChanged with a new signal."
This reverts commit 71677452f9cf210aa98162c6f4bd8d339e625337.

Reason for revert: Broke Chromium.

Original change's description:
> Replaced the SignalSelectedCandidatePairChanged with a new signal.
> 
> |transport overhead| field is added to rtc::NetworkRoute structure.
> 
> In PackTransportInternal:
> 1. network_route() is added which returns the current network route.
> 2. debug_name() is removed.
> 3. transport_name() is moved from DtlsTransportInternal and
>    IceTransportInternal to PacketTransportInternal.
> 
> When the selected candidate pair is changed, the P2PTransportChannel
> will fire the SignalNetworkRouteChanged instead of
> SignalSelectedCandidatePairChanged to upper layers.
> 
> The Rtp/SrtpTransport takes the responsibility of calculating the
> transport overhead from the BaseChannel so that the BaseChannel
> doesn't need to depend on P2P layer transports.
> 
> Bug: webrtc:7013
> Change-Id: I60d30d785666a50a95052d00bf08f829d8f57e9c
> Reviewed-on: https://webrtc-review.googlesource.com/13520
> Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20661}

TBR=steveanton@webrtc.org,zhihuang@webrtc.org,pthatcher@webrtc.org

Change-Id: Ie0c76786855b65bb8caba7065593c961e4bf9de7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7013
Reviewed-on: https://webrtc-review.googlesource.com/22764
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20662}
2017-11-13 21:13:55 +00:00
Zhi Huang
71677452f9 Replaced the SignalSelectedCandidatePairChanged with a new signal.
|transport overhead| field is added to rtc::NetworkRoute structure.

In PackTransportInternal:
1. network_route() is added which returns the current network route.
2. debug_name() is removed.
3. transport_name() is moved from DtlsTransportInternal and
   IceTransportInternal to PacketTransportInternal.

When the selected candidate pair is changed, the P2PTransportChannel
will fire the SignalNetworkRouteChanged instead of
SignalSelectedCandidatePairChanged to upper layers.

The Rtp/SrtpTransport takes the responsibility of calculating the
transport overhead from the BaseChannel so that the BaseChannel
doesn't need to depend on P2P layer transports.

Bug: webrtc:7013
Change-Id: I60d30d785666a50a95052d00bf08f829d8f57e9c
Reviewed-on: https://webrtc-review.googlesource.com/13520
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20661}
2017-11-13 20:57:31 +00:00
Mirko Bonadei
61a7b141eb Removing conditional visibility.
Conditional visibility is complex to maintain and it is not well
supported by other build systems.

This CL removes it and falls back on the more relaxed visibility value
("*" in this case).
It is not a problem because the targets that are using conditional
visibility are all marked as "testonly" and this is probably enough to
keep the build graph clean.

Bug: None
Change-Id: I2d2b5ac9a02d08c2863950116db455976ee1459c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/14902
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20658}
2017-11-13 15:39:11 +00:00
Mirko Bonadei
fbb3b7d004 Reland: "Make javac warnings errors for WebRTC targets."
This reverts commit 2bad72a27329ff30ceb9479253f5eb3d21888d25.

Reason for revert: Fixing downstream projects (take 2).

Original change's description:
> Reland "Revert "Make javac warnings errors for WebRTC targets.""
> 
> This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
> Original change's description:
> > Revert "Make javac warnings errors for WebRTC targets."
> > 
> > This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> > 
> > Reason for revert: Breaking internal builds
> > 
> > Original change's description:
> > > Make javac warnings errors for WebRTC targets.
> > > 
> > > Adds new rtc_* templates for Android targets to allow specifying
> > > default values that affect WebRTC targets.
> > > 
> > > Bug: webrtc:6597
> > > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20567}
> > 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> > 
> > Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:6597
> > Reviewed-on: https://webrtc-review.googlesource.com/20740
> > Reviewed-by: Lu Liu <lliuu@webrtc.org>
> > Commit-Queue: Lu Liu <lliuu@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20571}
> 
> Bug: webrtc:6597
> Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
> Reviewed-on: https://webrtc-review.googlesource.com/20800
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20577}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,mbonadei@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: Id3713c1885318741711987ae642a269a9ca5bb85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/18441
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20588}
2017-11-07 15:36:46 +00:00
Lu Liu
2bad72a273 Reland "Revert "Make javac warnings errors for WebRTC targets.""
This is a reland of 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74
Original change's description:
> Revert "Make javac warnings errors for WebRTC targets."
> 
> This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> 
> Reason for revert: Breaking internal builds
> 
> Original change's description:
> > Make javac warnings errors for WebRTC targets.
> > 
> > Adds new rtc_* templates for Android targets to allow specifying
> > default values that affect WebRTC targets.
> > 
> > Bug: webrtc:6597
> > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20567}
> 
TBR=phoglund@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:6597
> Reviewed-on: https://webrtc-review.googlesource.com/20740
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20571}

Bug: webrtc:6597
Change-Id: Icfb5ded46ce76b674bae67bfa02054b4ec52bb0f
Reviewed-on: https://webrtc-review.googlesource.com/20800
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20577}
2017-11-07 01:31:45 +00:00
Mirko Bonadei
a1a475a5b6 Revert "Revert "Make javac warnings errors for WebRTC targets.""
This reverts commit 098d24c3c18f4b1fd043d7ba716d7601f0ce2b74.

Reason for revert: Fixing downstream projects.

Original change's description:
> Revert "Make javac warnings errors for WebRTC targets."
> 
> This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.
> 
> Reason for revert: Breaking internal builds
> 
> Original change's description:
> > Make javac warnings errors for WebRTC targets.
> > 
> > Adds new rtc_* templates for Android targets to allow specifying
> > default values that affect WebRTC targets.
> > 
> > Bug: webrtc:6597
> > Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> > Reviewed-on: https://webrtc-review.googlesource.com/15103
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20567}
> 
> TBR=phoglund@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:6597
> Reviewed-on: https://webrtc-review.googlesource.com/20740
> Reviewed-by: Lu Liu <lliuu@webrtc.org>
> Commit-Queue: Lu Liu <lliuu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20571}

TBR=phoglund@webrtc.org,sakal@webrtc.org,lliuu@webrtc.org

Change-Id: I3f0289c6ddc1930b1c92f653a61eff3f6a2bba30
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/20741
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20572}
2017-11-06 20:30:58 +00:00
Lu Liu
098d24c3c1 Revert "Make javac warnings errors for WebRTC targets."
This reverts commit 19b761403c3522902d69d61179f4d184e3632f79.

Reason for revert: Breaking internal builds

Original change's description:
> Make javac warnings errors for WebRTC targets.
> 
> Adds new rtc_* templates for Android targets to allow specifying
> default values that affect WebRTC targets.
> 
> Bug: webrtc:6597
> Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
> Reviewed-on: https://webrtc-review.googlesource.com/15103
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20567}

TBR=phoglund@webrtc.org,sakal@webrtc.org

Change-Id: I6d3ff5604b3d4307765d3a65adb783f89fcc974c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6597
Reviewed-on: https://webrtc-review.googlesource.com/20740
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20571}
2017-11-06 19:58:38 +00:00
Sami Kalliomäki
19b761403c Make javac warnings errors for WebRTC targets.
Adds new rtc_* templates for Android targets to allow specifying
default values that affect WebRTC targets.

Bug: webrtc:6597
Change-Id: Ie529bfc8500d1e785b8a59dba7078b5f88ccfcd1
Reviewed-on: https://webrtc-review.googlesource.com/15103
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20567}
2017-11-06 15:59:06 +00:00
Ilya Nikolaevskiy
b968575017 Add MovingMedianFilter to rtc_base/numerics
This class will be used for filtering remote clock offset in rtp streams.
It is a separate wrapper around PercentileFilter because it will be used
in that form in several places.

Bug: webrtc:8468
Change-Id: If1f6c38ac1ffa02232c1aed5512b92878b1c346a
Reviewed-on: https://webrtc-review.googlesource.com/17841
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20531}
2017-11-01 13:56:16 +00:00
Bjorn Terelius
a194e58e79 Move sequence_number_utils.h to rtc_base/
Bug: webrtc:8440
Change-Id: I36e70da6ce70b95db7d3fce8b0013bff5c795bfc
Reviewed-on: https://webrtc-review.googlesource.com/14860
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20429}
2017-10-25 12:33:57 +00:00
Steve Anton
9de3aaccc9 Reland "Enable the clang style plugin in rtc_base/"
This is a reland of Id63f0deb7b335690157ab157c35177b7836688da.

Original change's description:
> Enable the clang style plugin in rtc_base/
> 
> Enabled the plugin and cleaned up all issues it found.
> 
> Bug: webrtc:163
> Change-Id: Id63f0deb7b335690157ab157c35177b7836688da
> Reviewed-on: https://webrtc-review.googlesource.com/14660
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20401}

Bug: webrtc:163
Change-Id: I861a5fe741215115b0e7a2be9c0786836ff5376e
Reviewed-on: https://webrtc-review.googlesource.com/15040
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20416}
2017-10-24 20:50:13 +00:00
Steve Anton
a17ce27b20 Revert "Enable the clang style plugin in rtc_base/"
This reverts commit af551a1956d2ec3a388cf7e0e88c7ee2c2b61291.

Reason for revert: Fails to compile on Chromium FYI bot: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/21375

Original change's description:
> Enable the clang style plugin in rtc_base/
> 
> Enabled the plugin and cleaned up all issues it found.
> 
> Bug: webrtc:163
> Change-Id: Id63f0deb7b335690157ab157c35177b7836688da
> Reviewed-on: https://webrtc-review.googlesource.com/14660
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20401}

TBR=steveanton@webrtc.org,kwiberg@webrtc.org

Change-Id: Iafdf4bc1744a981b5d7d38e4a0c5b2d88753f00a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:163
Reviewed-on: https://webrtc-review.googlesource.com/14740
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20402}
2017-10-24 00:43:59 +00:00
Steve Anton
af551a1956 Enable the clang style plugin in rtc_base/
Enabled the plugin and cleaned up all issues it found.

Bug: webrtc:163
Change-Id: Id63f0deb7b335690157ab157c35177b7836688da
Reviewed-on: https://webrtc-review.googlesource.com/14660
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20401}
2017-10-23 23:25:17 +00:00
Niels Möller
9155e4986d New classes RefCounter and RefCountedBase.
Bug: webrtc:8270
Change-Id: Ibdab81b3fcbe6cba9ae24033f56c84b13c868b21
Reviewed-on: https://webrtc-review.googlesource.com/2684
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20386}
2017-10-23 11:46:47 +00:00
Alex Narest
78609d5b6b Reland of BWE allocation strategy
TBR=stefan@webrtc.org,alexnarest@webrtc.org

Bug: webrtc:8243
Change-Id: Ie68e4f414b2ac32ba4e64877cb250fabcb089a07
Reviewed-on: https://webrtc-review.googlesource.com/13940
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Alex Narest <alexnarest@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20369}
2017-10-20 10:16:15 +00:00
Alex Narest
dc9ca9329b Revert "BWE allocation strategy"
This reverts commit a5fbc23379823d74b8cf4bc18887ff40237989e8.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> BWE allocation strategy
> 
> This is reland of https://webrtc-review.googlesource.com/c/src/+/4860 with the fixed RampUpTest test
> 
> Bug: webrtc:8243
> Change-Id: I4b90a449b00dd05feee974001e08fb40710b59ac
> Reviewed-on: https://webrtc-review.googlesource.com/13124
> Commit-Queue: Alex Narest <alexnarest@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20345}

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

Change-Id: I8ed12cd2115ef63204e384cc93c9f4473daa54d1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8243
Reviewed-on: https://webrtc-review.googlesource.com/14020
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Alex Narest <alexnarest@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20361}
2017-10-19 15:34:52 +00:00
Niels Möller
15c9cf732b Reland "Delete reference to webrtc_overides/rtc_base/task_queue.cc."
This is a reland of 17a0474379ebba7f48a59f2952b0a184071c47d8
Original change's description:
> Delete reference to webrtc_overides/rtc_base/task_queue.cc.
> 
> This change depends on Chromium cl
> https://chromium-review.googlesource.com/c/chromium/src/+/681814,
> which must be landed first.
> 
> Bug: webrtc:8166
> Change-Id: I8e1c96ad5927e1d9d4e45e6f6c0b5f712d58cef7
> Reviewed-on: https://webrtc-review.googlesource.com/3940
> Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20071}

Bug: webrtc:8166
Change-Id: Ia011f82dde96e8f0c5c18ad7ac20fd6b7adcb1e8
Reviewed-on: https://webrtc-review.googlesource.com/13620
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20352}
2017-10-19 12:15:22 +00:00
Alex Narest
a5fbc23379 BWE allocation strategy
This is reland of https://webrtc-review.googlesource.com/c/src/+/4860 with the fixed RampUpTest test

Bug: webrtc:8243
Change-Id: I4b90a449b00dd05feee974001e08fb40710b59ac
Reviewed-on: https://webrtc-review.googlesource.com/13124
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20345}
2017-10-19 09:30:00 +00:00
Lu Liu
39260c4a6b Revert "BWE allocation strategy allows controlling of bitrate allocation with WEBRTC external logic."
This reverts commit 54d1da13a584680ae80a1f229291e5bb7e76e6e1.

Reason for revert: Breaking tests

Original change's description:
> BWE allocation strategy allows controlling of bitrate allocation with WEBRTC external logic.
> 
> This CL implements the main logic and IOS appRTC integration.
> 
> Unit tests and Android appRTC will be in separate CL.
> 
> Bug: webrtc:8243
> Change-Id: If8e5195294046a47316e9fade1b0dfec211155e1
> Reviewed-on: https://webrtc-review.googlesource.com/4860
> Commit-Queue: Alex Narest <alexnarest@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20329}

TBR=deadbeef@webrtc.org,nisse@webrtc.org,stefan@webrtc.org,alexnarest@webrtc.org

Change-Id: I5be1da78f360f72be66f9d56dd6b88c1cc13e963
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8243
Reviewed-on: https://webrtc-review.googlesource.com/12560
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20330}
2017-10-17 19:59:04 +00:00
Alex Narest
54d1da13a5 BWE allocation strategy allows controlling of bitrate allocation with WEBRTC external logic.
This CL implements the main logic and IOS appRTC integration.

Unit tests and Android appRTC will be in separate CL.

Bug: webrtc:8243
Change-Id: If8e5195294046a47316e9fade1b0dfec211155e1
Reviewed-on: https://webrtc-review.googlesource.com/4860
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20329}
2017-10-17 18:22:15 +00:00
Ilya Nikolaevskiy
ed23be91b8 Move HistogramPercentileCounter to rtc_base from RecieveStatisticProxy.
This should be a separate utility class, rather than internal thing in
ReceiveStatisticsProxy.

Bug: webrtc:8347
Change-Id: I9c8238e625999dba5776d6038c819732d07e9656
Reviewed-on: https://webrtc-review.googlesource.com/7609
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20267}
2017-10-13 08:32:07 +00:00
Taylor Brandstetter
e68b6c970e Adding back sigslot::repeater.
This time, with variadic template args, and unit tests!

NOPRESUBMIT=True

Bug: None
Change-Id: I2669cf5b24ab511eef8c01866748c1424b04abe1
Reviewed-on: https://webrtc-review.googlesource.com/4300
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20171}
2017-10-05 16:48:13 +00:00
Patrik Höglund
e2d6a06fa8 Reland "Clean up libjingle API dependencies."
This is a reland of 9185aca9ce1f66e983d9a5e797cab77a64cc46b0

> Original change's description:
> > > Clean up libjingle API dependencies.
> > > 
> > > This CL moves candidate.h into the public API, since it has
> > > been implicitly included before.
> > > 
> > > This is a straightforward way of solving the circular
> > > dependencies involving that file. For instance,
> > > libjingle_peerconnection_api includes candidate.h from
> > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > > depends on _api. In fact, _api can't depend on much at all
> > > since it's a very high level abstraction; instead, things
> > > should depend on it.
> > > 
> > > Furthermore, we have the case where deprecated headers
> > > include headers in internal modules. I just have to turn
> > > off include checking for those, but that's not a big deal.
> > > 
> > > This CL punts the problem of callfactoryinterface.h being
> > > implicitly included, and pulling in most of the call
> > > module with it. This should be addressed in a follow-up
> > > CL.
> Bug: webrtc:7504
> Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
> Reviewed-on: https://webrtc-review.googlesource.com/6460
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20156}

TBR=deadbeef@webrtc.org

Bug: webrtc:7504
Change-Id: Ic6598ac2af9355b60bbd289c86dc75e0ae9fed2e
Reviewed-on: https://webrtc-review.googlesource.com/6801
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20167}
2017-10-05 13:51:21 +00:00
Henrik Kjellander
1af3d82b10 Revert "Reland "Clean up libjingle API dependencies.""
This reverts commit 9185aca9ce1f66e983d9a5e797cab77a64cc46b0.

Reason for revert: Still breaks Chromium:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/29052

You cannot trust the *chromium* trybots due to https://bugs.chromium.org/p/chromium/issues/detail?id=771159

Original change's description:
> Reland "Clean up libjingle API dependencies."
> 
> This is a reland of 5117b047875970cf61f2403b590c44c37bfa8272
> Original change's description:
> > > Clean up libjingle API dependencies.
> > > 
> > > This CL moves candidate.h into the public API, since it has
> > > been implicitly included before.
> > > 
> > > This is a straightforward way of solving the circular
> > > dependencies involving that file. For instance,
> > > libjingle_peerconnection_api includes candidate.h from
> > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > > depends on _api. In fact, _api can't depend on much at all
> > > since it's a very high level abstraction; instead, things
> > > should depend on it.
> > > 
> > > Furthermore, we have the case where deprecated headers
> > > include headers in internal modules. I just have to turn
> > > off include checking for those, but that's not a big deal.
> > > 
> > > This CL punts the problem of callfactoryinterface.h being
> > > implicitly included, and pulling in most of the call
> > > module with it. This should be addressed in a follow-up
> > > CL.
> > > 
> > > Bug: webrtc:7504
> > > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20034}
> 
> Bug: webrtc:7504
> Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
> Reviewed-on: https://webrtc-review.googlesource.com/6460
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20156}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org

Change-Id: I699c68bd330b537005c3f2b8fe31702025df4e39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7504
Reviewed-on: https://webrtc-review.googlesource.com/6800
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20157}
2017-10-05 08:28:51 +00:00
Patrik Höglund
9185aca9ce Reland "Clean up libjingle API dependencies."
This is a reland of 5117b047875970cf61f2403b590c44c37bfa8272
Original change's description:
> > Clean up libjingle API dependencies.
> > 
> > This CL moves candidate.h into the public API, since it has
> > been implicitly included before.
> > 
> > This is a straightforward way of solving the circular
> > dependencies involving that file. For instance,
> > libjingle_peerconnection_api includes candidate.h from
> > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > depends on _api. In fact, _api can't depend on much at all
> > since it's a very high level abstraction; instead, things
> > should depend on it.
> > 
> > Furthermore, we have the case where deprecated headers
> > include headers in internal modules. I just have to turn
> > off include checking for those, but that's not a big deal.
> > 
> > This CL punts the problem of callfactoryinterface.h being
> > implicitly included, and pulling in most of the call
> > module with it. This should be addressed in a follow-up
> > CL.
> > 
> > Bug: webrtc:7504
> > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20034}

Bug: webrtc:7504
Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
Reviewed-on: https://webrtc-review.googlesource.com/6460
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20156}
2017-10-05 08:15:20 +00:00
Kári Tristan Helgason
3c0bbff27c Remove deprecated mac screencapture code.
We don't support pre-lion, so all this screencapture code is unnecessary.
This also enables us to delete some code from rtc_base/macutils

Bug: webrtc:6424
Change-Id: I4ef068e8d7b48de9370feee51399033a4d1ae1c3
Reviewed-on: https://webrtc-review.googlesource.com/3420
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20104}
2017-10-03 08:41:30 +00:00
Henrik Boström
a9a277185e Revert "Delete reference to webrtc_overides/rtc_base/task_queue.cc."
This reverts commit 17a0474379ebba7f48a59f2952b0a184071c47d8.

Reason for revert: Blocks roll into chromium. The Chromium CL this depends on was reverted.

Original change's description:
> Delete reference to webrtc_overides/rtc_base/task_queue.cc.
> 
> This change depends on Chromium cl
> https://chromium-review.googlesource.com/c/chromium/src/+/681814,
> which must be landed first.
> 
> Bug: webrtc:8166
> Change-Id: I8e1c96ad5927e1d9d4e45e6f6c0b5f712d58cef7
> Reviewed-on: https://webrtc-review.googlesource.com/3940
> Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20071}

TBR=kjellander@webrtc.org,nisse@webrtc.org,perkj@webrtc.org

Change-Id: I8bf5a27adb6549c70d9e2b632dfeaf23fab3cdd2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8166
Reviewed-on: https://webrtc-review.googlesource.com/5740
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20103}
2017-10-03 08:01:22 +00:00
Niels Möller
17a0474379 Delete reference to webrtc_overides/rtc_base/task_queue.cc.
This change depends on Chromium cl
https://chromium-review.googlesource.com/c/chromium/src/+/681814,
which must be landed first.

Bug: webrtc:8166
Change-Id: I8e1c96ad5927e1d9d4e45e6f6c0b5f712d58cef7
Reviewed-on: https://webrtc-review.googlesource.com/3940
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20071}
2017-10-02 11:50:14 +00:00
Patrik Höglund
581df618fe Revert "Reland "Clean up libjingle API dependencies.""
This reverts commit 5117b047875970cf61f2403b590c44c37bfa8272.

Reason for revert: Still breaks downstream projects that include too much stuff.

Original change's description:
> Reland "Clean up libjingle API dependencies."
> 
> This is a reland of 57fb3154b5411934b80051ad827db4e54d00f381
> Original change's description:
> > Clean up libjingle API dependencies.
> > 
> > This CL moves candidate.h into the public API, since it has
> > been implicitly included before.
> > 
> > This is a straightforward way of solving the circular
> > dependencies involving that file. For instance,
> > libjingle_peerconnection_api includes candidate.h from
> > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > depends on _api. In fact, _api can't depend on much at all
> > since it's a very high level abstraction; instead, things
> > should depend on it.
> > 
> > Furthermore, we have the case where deprecated headers
> > include headers in internal modules. I just have to turn
> > off include checking for those, but that's not a big deal.
> > 
> > This CL punts the problem of callfactoryinterface.h being
> > implicitly included, and pulling in most of the call
> > module with it. This should be addressed in a follow-up
> > CL.
> > 
> > Bug: webrtc:7504
> > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20034}
> 
> Bug: webrtc:7504
> Change-Id: I74aeeff678a4ce6482d2f402493ae13e698f1390
> Reviewed-on: https://webrtc-review.googlesource.com/4703
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20062}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org

Change-Id: I19068df5f3ee8145c5ff13c86a42b6860e9cc834
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7504
Reviewed-on: https://webrtc-review.googlesource.com/5460
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20065}
2017-10-02 09:12:51 +00:00
Patrik Höglund
5117b04787 Reland "Clean up libjingle API dependencies."
This is a reland of 57fb3154b5411934b80051ad827db4e54d00f381
Original change's description:
> Clean up libjingle API dependencies.
> 
> This CL moves candidate.h into the public API, since it has
> been implicitly included before.
> 
> This is a straightforward way of solving the circular
> dependencies involving that file. For instance,
> libjingle_peerconnection_api includes candidate.h from
> jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> depends on _api. In fact, _api can't depend on much at all
> since it's a very high level abstraction; instead, things
> should depend on it.
> 
> Furthermore, we have the case where deprecated headers
> include headers in internal modules. I just have to turn
> off include checking for those, but that's not a big deal.
> 
> This CL punts the problem of callfactoryinterface.h being
> implicitly included, and pulling in most of the call
> module with it. This should be addressed in a follow-up
> CL.
> 
> Bug: webrtc:7504
> Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> Reviewed-on: https://webrtc-review.googlesource.com/2020
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20034}

Bug: webrtc:7504
Change-Id: I74aeeff678a4ce6482d2f402493ae13e698f1390
Reviewed-on: https://webrtc-review.googlesource.com/4703
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20062}
2017-10-02 08:27:51 +00:00
Patrik Höglund
7bcfc3b232 Revert "Clean up libjingle API dependencies."
This reverts commit 57fb3154b5411934b80051ad827db4e54d00f381.

Reason for revert: Breaks jingle_glue in chromium; need to leave candidate.h in place and include the new location until it's fixed.

Original change's description:
> Clean up libjingle API dependencies.
> 
> This CL moves candidate.h into the public API, since it has
> been implicitly included before.
> 
> This is a straightforward way of solving the circular
> dependencies involving that file. For instance,
> libjingle_peerconnection_api includes candidate.h from
> jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> depends on _api. In fact, _api can't depend on much at all
> since it's a very high level abstraction; instead, things
> should depend on it.
> 
> Furthermore, we have the case where deprecated headers
> include headers in internal modules. I just have to turn
> off include checking for those, but that's not a big deal.
> 
> This CL punts the problem of callfactoryinterface.h being
> implicitly included, and pulling in most of the call
> module with it. This should be addressed in a follow-up
> CL.
> 
> Bug: webrtc:7504
> Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> Reviewed-on: https://webrtc-review.googlesource.com/2020
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20034}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org,perkj@webrtc.org

Change-Id: Ic5c3d0cf0b8c4d48ecbc49efdb76b373e3c950a5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7504
Reviewed-on: https://webrtc-review.googlesource.com/4702
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20036}
2017-09-29 11:11:18 +00:00
Patrik Höglund
57fb3154b5 Clean up libjingle API dependencies.
This CL moves candidate.h into the public API, since it has
been implicitly included before.

This is a straightforward way of solving the circular
dependencies involving that file. For instance,
libjingle_peerconnection_api includes candidate.h from
jsepicecandidate.h, but _api can't depend on rtc_p2p, which
depends on _api. In fact, _api can't depend on much at all
since it's a very high level abstraction; instead, things
should depend on it.

Furthermore, we have the case where deprecated headers
include headers in internal modules. I just have to turn
off include checking for those, but that's not a big deal.

This CL punts the problem of callfactoryinterface.h being
implicitly included, and pulling in most of the call
module with it. This should be addressed in a follow-up
CL.

Bug: webrtc:7504
Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
Reviewed-on: https://webrtc-review.googlesource.com/2020
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20034}
2017-09-29 10:40:17 +00:00
nisse
75dd6d4b96 Drop reference to webrtc_overrides/.../task_queue.h
Since cl
https://chromium-review.googlesource.com/c/chromium/src/+/664807,
chromium no longer uses it. We need to stop referring to it from
webrtc, before it can be deleted in chromium.

BUG=webrtc:8166

Review-Url: https://codereview.webrtc.org/3015513002
Cr-Commit-Position: refs/heads/master@{#19901}
2017-09-19 15:28:00 +00:00
kwiberg
2352ce3c43 Remove backwards compatibilty header for ArrayView
BUG=webrtc:8205

Review-Url: https://codereview.webrtc.org/3010633002
Cr-Commit-Position: refs/heads/master@{#19884}
2017-09-18 09:55:59 +00:00
Patrik Höglund
563934e726 Clean up dependencies of peerconnection_unittest.
There were a number of unused includes and undeclared
dependencies. I removed the includes that were causing
problems and added dependencies for the includes that
turned out to be needed.

Bug: webrtc:7239,webrtc:6828
Change-Id: I5b57f9b8411d969e96eaa46fb49101b7b7c32284
Reviewed-on: https://webrtc-review.googlesource.com/1185
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19858}
2017-09-15 12:51:00 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00