Accumulate it in all places where frames can be dropped before they reach
the encoder.
Reset UpdateRect in VideoBroadcaster if frame the previous frame is dropped.
No accumulation is done here since it's supposed to be a brief occusion then
configuration have changed.
Bug: webrtc:10310
Change-Id: I2813ecd009eb730bd99ffa0a02f979091b56bf80
Reviewed-on: https://webrtc-review.googlesource.com/c/123102
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26711}
This works around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89305, which
causes GCC to fail to build the code due to |thread_checker_| being const
there and not having a declared constructor.
../../api/ice_transport_factory.cc: In constructor ‘webrtc::{anonymous}::IceTransportWithTransportChannel::IceTransportWithTransportChannel(std::unique_ptr<cricket::IceTransportInternal>)’:
../../api/ice_transport_factory.cc:31:3: error: uninitialized const member in ‘const class rtc::ThreadChecker’ [-fpermissive]
IceTransportWithTransportChannel(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../api/ice_transport_factory.cc:45:28: note: ‘const rtc::ThreadChecker webrtc::{anonymous}::IceTransportWithTransportChannel::thread_checker_’ should be initialized
const rtc::ThreadChecker thread_checker_;
^~~~~~~~~~~~~~~
Bug: chromium:819294
Change-Id: I750e8cdd796b3b0e076de01194cf7de988ac4ce2
Reviewed-on: https://webrtc-review.googlesource.com/c/122820
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#26662}
This reverts commit 12e5d392cc8fc0ba7a04587c190daa4232e412bb.
Reason for revert: Partial Capture API is not needed, according to new info from the Chrome team.
Original change's description:
> Reland "Partial frame capture API part 1"
>
> Reland with fixes to undefined behavior.
>
> Define new optional struct in VideoFrame to signal that the frame is a
> changed part of a whole picture and add a flag to signal that partial
> update may be issued by the VideoFrame source.
>
> Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
> Also, add ability to set a new buffer in video frame.
>
> Original Reviewed-on: https://webrtc-review.googlesource.com/c/120405
>
> Bug: webrtc:10152
> Change-Id: I85790dfc7cec2f23abfe9d6cd18dc76a0c343bc0
> Reviewed-on: https://webrtc-review.googlesource.com/c/120780
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26493}
TBR=ilnik@webrtc.org,nisse@webrtc.org,sprang@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:10152
Change-Id: I1c1dd51a8b5a09f743f212336beb01447f60f26e
Reviewed-on: https://webrtc-review.googlesource.com/c/122092
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26638}
This reverts commit 126648763184b7e224d6c4a2f85efb4a9307378f.
Reason for revert: Partial Capture API is not needed, according to new info from the Chrome team.
Original change's description:
> Partial frame capture API part 3
>
> Implement utility for applying partial updates to video frames.
>
> Bug: webrtc:10152
> Change-Id: I295fa9f792b96bbf1140a13f1f04e4f9deaccd5c
> Reviewed-on: https://webrtc-review.googlesource.com/c/120408
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26522}
TBR=ilnik@webrtc.org,nisse@webrtc.org,sprang@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:10152
Change-Id: I9d7c79ca571a44a419102871d3106e7065638433
Reviewed-on: https://webrtc-review.googlesource.com/c/122089
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26630}
This reverts commit 1f0a84a2ecea59f86adc1af70eed974a3c6d59ac.
Reason for revert: Partial Capture API is not needed, according to new info from the Chrome team.
Original change's description:
> Partial frame capture API part 5
>
> Wire up partial video frames in video quality tests
>
> Bug: webrtc:10152
> Change-Id: Ifa13bb308258c8d3930a6cfbcc97c95b132cecf3
> Reviewed-on: https://webrtc-review.googlesource.com/c/120410
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26549}
TBR=ilnik@webrtc.org,sprang@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:10152
Change-Id: I32017b1a7109a3615598a976f4b0e61edf4e8757
Reviewed-on: https://webrtc-review.googlesource.com/c/122088
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26628}
Logging will not stop after 10 minutes but after the max size of the
file is reached.
Bug: None
No-Try: True
Change-Id: I18c064cc60b52d892d5070b3eddf08749b60604c
Reviewed-on: https://webrtc-review.googlesource.com/c/121959
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26625}
Hard-coding default values forces IDs over 14 to be used even
when we offer less than 15 different extensions.
Note that the code relies on MergeRtpHdrExts for making sure
that extension IDs are kept consistent and non-colliding between
different streams (audio/video).
Bug: webrtc:10288
Change-Id: I3e59f7ddc8ca43cea91084a6b7f36df70fb6be4a
Reviewed-on: https://webrtc-review.googlesource.com/c/121646
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26622}
The new parameter simplify TaskQueueFactory lifetime and
allows insertion of per TestCase state
Bug: webrtc:10191
Change-Id: If4948df2756580957052b2b333b5c12cf4914d55
Reviewed-on: https://webrtc-review.googlesource.com/c/121648
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26583}
Adds methods AddNetworkChangeCallback and RemoveNetworkChangeCallback,
to replace SetNetworkChangeCallback. Needed because both VideoChannel and
VoiceChannel register such a callback.
Bug: webrtc:9719
Change-Id: Ic592b2d775d721a0f44ba0af88ed963bf02d73a3
Reviewed-on: https://webrtc-review.googlesource.com/c/121460
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26575}
Wire up partial video frames in video quality tests
Bug: webrtc:10152
Change-Id: Ifa13bb308258c8d3930a6cfbcc97c95b132cecf3
Reviewed-on: https://webrtc-review.googlesource.com/c/120410
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26549}
Adds methods AddNetworkChangeCallback and RemoveNetworkChangeCallback,
to replace SetNetworkChangeCallback. Needed because both VideoChannel
and VoiceChannel register such a callback.
This cl is step 1, it just adds the methods to the interface, without
calling them.
Bug: webrtc:9719
Change-Id: I39f1748706d4369ca71d594ca5e2f1380de5ce66
Reviewed-on: https://webrtc-review.googlesource.com/c/121462
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26541}
Reland with fixes to undefined behavior.
Define new optional struct in VideoFrame to signal that the frame is a
changed part of a whole picture and add a flag to signal that partial
update may be issued by the VideoFrame source.
Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
Also, add ability to set a new buffer in video frame.
Original Reviewed-on: https://webrtc-review.googlesource.com/c/120405
Bug: webrtc:10152
Change-Id: I85790dfc7cec2f23abfe9d6cd18dc76a0c343bc0
Reviewed-on: https://webrtc-review.googlesource.com/c/120780
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26493}
This reverts commit 8a21e1c9c95c9b9b570c84bdfeda0315ede9dc29.
Reason for revert: breaks buildbots
Original change's description:
> Partial frame capture API part 1
>
> Define new optional struct in VideoFrame to signal that the frame is a
> changed part of a whole picture and add a flag to signal that partial
> update may be issued by the VideoFrame source.
>
> Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
> Also, add ability to set a new buffer in video frame.
>
>
> Bug: webrtc:10152
> Change-Id: Ie0da418fd60bc7a34334329292e0b860ec388788
> Reviewed-on: https://webrtc-review.googlesource.com/c/120405
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26489}
TBR=ilnik@webrtc.org,nisse@webrtc.org,sprang@webrtc.org
Change-Id: Ibf61f28e529a444882962b984474d4849bb44e4b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10152
Reviewed-on: https://webrtc-review.googlesource.com/c/120760
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26490}
Define new optional struct in VideoFrame to signal that the frame is a
changed part of a whole picture and add a flag to signal that partial
update may be issued by the VideoFrame source.
Also, fix too strict assumptions in FrameBuffers PasteFrom methods.
Also, add ability to set a new buffer in video frame.
Bug: webrtc:10152
Change-Id: Ie0da418fd60bc7a34334329292e0b860ec388788
Reviewed-on: https://webrtc-review.googlesource.com/c/120405
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26489}
This is useful for internal calculations in bitrate control code as we
can skip conversion constants.
DataRate Example(TimeDelta time, DataSize size) {
double time_seconds = time.seconds<double>();
double size_bytes = size.bytes<double>();
double rate_bytes_per_sec = size_bytes/time_seconds;
return DataRate::bytes_per_sec(std::max(0.0,rate_bytes_per_sec));
}
Bug: webrtc:9709
Change-Id: I8eefed578b6e8eee67fc36af723216407e0d0323
Reviewed-on: https://webrtc-review.googlesource.com/c/120720
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26488}