For use when send-side bandwidth estimation is enabled.
Receive times need to be captured, buffered and then sent using
TransportFeedback RTCP messaged back to the send side.
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1290813008
Cr-Commit-Position: refs/heads/master@{#9898}
It makes more sense to combine the two interfaces, since there wasn't
a clear line separating them. The result is a combined interface with
just over a dozen methods, half of which need to be implemented by
every subclass, while the other half have sensible (and trivial)
default implementations and are implemented only by the few subclasses
that need non-default behavior.
Review URL: https://codereview.webrtc.org/1322973004
Cr-Commit-Position: refs/heads/master@{#9894}
Unwrap uint16_t to int64_t, based on delta and last sequence number.
This can make application logic, putting packets in maps etc, much
simpler.
BUG=
Review URL: https://codereview.webrtc.org/1209623002
Cr-Commit-Position: refs/heads/master@{#9887}
This CL adds support for simulating neteq using stored RTP packets as well as calls to GetAudio from an RtcEventLog, using the stored timestamps.
The type of the input file is detected automatically.
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1316903002
Cr-Commit-Position: refs/heads/master@{#9886}
Handling the case when encoder drops only the higher layer.
Added options to screenshare loopback test to discard high temporal or spatial layers (to view the lower layers).
Review URL: https://codereview.webrtc.org/1287643002
Cr-Commit-Position: refs/heads/master@{#9883}
Part of work removing dependency on Chromium's base.
BUG=468375 (in particular comment #37)
Review URL: https://codereview.webrtc.org/1327023002
Cr-Commit-Position: refs/heads/master@{#9880}
Is now set to:
<= 320x240: 600kbps
<= 640x480: 1.7Mbps
<= 960x540: 2Mbps
> 960x540: 2.5Mbps
For QVGA and VGA, the qp was around 10 at the selected thresholds when running some tests. The change in qp declined above the selected bitrates.
BUG=
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1297373003 .
Cr-Commit-Position: refs/heads/master@{#9878}
Exclude the following files from 80-characters line limit check:
* DEPS
* GN files (.gn and .gni)
* GYP files (.gyp and .gypi)
BUG=webrtc:4794
TESTED=Ran the presubmit check with a modified DEPS and GYP file before this change and verified it failed. Re-ran after these changes and verified it passed. I also tested editing a .cc file to be >80 chars and verified the check found it.
R=andrew@webrtc.org, sergiyb@chromium.org
Review URL: https://codereview.webrtc.org/1323943012 .
Cr-Commit-Position: refs/heads/master@{#9877}
The easy way also happens to be more efficient if we have to
reallocate, but that's a minor concern here.
Review URL: https://codereview.webrtc.org/1327053002
Cr-Commit-Position: refs/heads/master@{#9876}
This CL contains major modifications of the audio output parts for WebRTC on iOS:
- general code cleanup
- improves thread handling (added thread checks, remove critical section, atomic ops etc.)
- reduces loopback latency of iPhone 6 from ~90ms to ~60ms ;-)
- improves selection of audio parameters on iOS
- reduces complexity by removing complex and redundant delay estimates
- now instead uses fixed delay estimates if for some reason the SW EAC must be used
- adds AudioFineBuffer to compensate for differences in native output buffer size and
the 10ms size used by WebRTC. Same class as is used today on Android and we have unit tests for
this class (the old code was buggy and we have several issue reports of crashes related to it)
Similar improvements will be done for the recording sid as well in a separate CL.
I will also add support for 48kHz in an upcoming CL since that will improve Opus performance.
BUG=webrtc:4796,webrtc:4817,webrtc:4954, webrtc:4212
TEST=AppRTC demo and iOS modules_unittests using --gtest_filter=AudioDevice*
R=pbos@webrtc.org, tkchin@webrtc.org
Review URL: https://codereview.webrtc.org/1254883002 .
Cr-Commit-Position: refs/heads/master@{#9875}
Updating full stack test to optionally save metadata for each frame and save it
to a file with given filename (controlled from the new full_stack_samples
executable).
Adding a Python script that reads the output generated by full stack test
and plots the graph(s).
Review URL: https://codereview.webrtc.org/1289933003
Cr-Commit-Position: refs/heads/master@{#9874}
The disabling of the sin,cos,sinf,cosf functions had the wrong
condition for GN. This fixes that and also makes the condition
in common.gypi a bit more readable.
BUG=
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1307633008 .
Cr-Commit-Position: refs/heads/master@{#9871}
This generates incorrect -lX11 with use_x11=0 in our other build system,
which causes the standalone libjingle_media target to not build.
This patch should fix that. I could remove -lX11 completely, and
libjingle still links fine. So does Chrome if I do the corresponding
change there, so I think this change is safe to make.
BUG=None
Review URL: https://codereview.webrtc.org/1306243013
Cr-Commit-Position: refs/heads/master@{#9869}
base/logging.h dumped to stderr by default in debug mode, but webrtc
"trace" (via system_wrappers/../logging.h) has that feature disabled by
default. This makes the two consistent.
Bonus: log the filename:line in base/logging.h, which exists in the
system_wrappers variant.
TEST=neteq_impl.cc logs (which use base/logging.h) no longer appear in
debug mode, unless --logs=true is passed. Filenames appear correctly.
Review URL: https://codereview.webrtc.org/1331503002
Cr-Commit-Position: refs/heads/master@{#9868}
DesktopFrameWin::Create() may return nullptr when it fails to allocate
windows bitmap. ScreenCapturerWinGdi wasn't handling that case properly.
BUG=527660
Review URL: https://codereview.webrtc.org/1309143007
Cr-Commit-Position: refs/heads/master@{#9865}
Enumerating using android.hardware.camera2 is 10x faster than enumerating using android.hardware.camera, but they don't list exactly the same formats. android.hardware.camera2 support higher resolutions for some cameras, and also different framerates.
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1321893003 .
Cr-Commit-Position: refs/heads/master@{#9861}
Telling the encoder to adjust the parameters for the screen content.
Also, telling the encoder to skip the encoding of very flat/low content blocks. For now only for screensharing. (number 8 in VP8E_SET_STATIC_THRESHOLD is correct)
Review URL: https://codereview.webrtc.org/1308753006
Cr-Commit-Position: refs/heads/master@{#9860}
This will be used for the send side bitrate estimation. Storing various
meta-data about packets that can be retreived when arrival time feeback
arrives.
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1288033008
Cr-Commit-Position: refs/heads/master@{#9859}
Value was incorrectly truncated to 16 bits when serializing the message.
Fixed, with added regression tests.
BUG=
Review URL: https://codereview.webrtc.org/1294393002
Cr-Commit-Position: refs/heads/master@{#9858}
Pitfalls:
* Left shift of signed integer has undefined behavior
* Right-shift of signed integer has platform-specific behavior is value is negative
* Cast from unsigned to signed has undefined behavior if value is negative
BUG=webrtc:4824
Review URL: https://codereview.webrtc.org/1226993003
Cr-Commit-Position: refs/heads/master@{#9854}