This CL converts the ForwardErrorCorrection class to use std::unique_ptr
for memory management, rather than manually delete'ing allocated memory.
It further renames some data structures and types to distinguish between
generated FEC packets (i.e. coming from the encode operation) and
received FEC packets (i.e. coming in over the wire, intended for the
decode operation).
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2099243003
Cr-Commit-Position: refs/heads/master@{#13687}
NSS has been replaced by BoringSSL/OpenSSL on all platforms, so the memcheck
suppressions should no longer be required.
BUG=
R=kjellander@webrtc.org
NOTRY=True
Review-Url: https://codereview.webrtc.org/2222243002
Cr-Commit-Position: refs/heads/master@{#13686}
Current DirectX capturer cannot capture multiple video cards or monitors. But
according to DXGI desktop duplication sample (https://goo.gl/An0L9l), we can
capture multiple video cards and monitors by duplicating them one by one. So
instead of one IDXGIOutputDuplication instance, this change creates an
IDXGIOutputDuplication instance for each monitor, and merge the output into
one DesktopFrame.
Several other changes are also included,
1. Add supports to DXGI_OUTDUPL_DESC.DesktopImageInSystemMemory. When this flag
is true, we won't copy its content to staging buffer.
2. Capture one monitor instead of entire screen.
Above changes make the logic complex. But with some refactor work, the logic is
not disordered. Please refer to the doc @ https://goo.gl/hU1ifG.
BUG=314516
Review-Url: https://codereview.webrtc.org/2099123002
Cr-Commit-Position: refs/heads/master@{#13684}
This prevents biased modulo arithmetic when selecting a character for a
random value from the provided table.
BUG=webrtc:5870
Review-Url: https://codereview.webrtc.org/2115793003
Cr-Commit-Position: refs/heads/master@{#13683}
RTC_CHECK in functions that return the random value.
BUG=webrtc:6072
Review-Url: https://codereview.webrtc.org/2119003002
Cr-Commit-Position: refs/heads/master@{#13682}
Removed resampler from NewAudioConferenceMixer and AudioMixer (which started as a copy of former OutputMixer). This is part of the mixer rewrite project. In particular,
this is one of the steps required to have a single mixing component
instead of two doing the same thing.
The next planned change (which is not part of this CL) is to plug in the
new mixer (NewAudioConferenceMixer) into AudioState and AudioDeviceModule.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2221443002
Cr-Commit-Position: refs/heads/master@{#13674}
This CL adds support in RTCEAGLVideoView for rendering CVPixelBuffers as
OpenGL ES textures directly, compared to the current code that first
converts the CVPixelBuffers to I420, and then reuploads them as
textures. This is only supported on iOS with the use of a
CVOpenGLESTextureCache.
The I420 rendering and native rendering are separated in two different
implementations of a simple shader interface:
@protocol Shader
- (BOOL)drawFrame:(RTCVideoFrame*)frame;
@end
GL resources are allocated when the shader is instantiated and released
when the shader is destroyed. RTCEAGLVideoView will lazily instantiate
the necessary shader when it receives the first frame of that kind. This
is primarily done to avoid allocating GL resources for both I420 and
native rendering.
Some other changes are:
- Print GL shader compilation errors.
- Remove updateTextureSizesForFrame() function. The textures will
resize automatically anyway when the texture data is uploaded with
glTexImage2D().
patch from issue 2154243002 at patchset 140001 (http://crrev.com/2154243002#ps140001)
Continuing magjed@'s work since he is OOO this week.
BUG=
Review-Url: https://codereview.webrtc.org/2202823004
Cr-Commit-Position: refs/heads/master@{#13668}
To allow end-to-end QuicDataChannel usage with a
PeerConnection, RTCConfiguration has been modified to
include a boolean for whether to do QUIC, since negotiation of
QUIC is not implemented. If one peer does QUIC, then it will be
assumed that the other peer must do QUIC or the connection
will fail.
PeerConnection has been modified to create data channels of type
QuicDataChannel when the peer wants to do QUIC.
WebRtcSession has ben modified to use a QuicDataTransport
instead of a DtlsTransportChannelWrapper/DataChannel
when QUIC should be used
QuicDataTransport implements the generic functions of
BaseChannel to manage the QuicTransportChannel.
Committed: https://crrev.com/34b54c36a533dadb6ceb70795119194e6f530ef5
Review-Url: https://codereview.webrtc.org/2166873002
Cr-Original-Commit-Position: refs/heads/master@{#13645}
Cr-Commit-Position: refs/heads/master@{#13657}
This CL removes (almost) the last RTP references in VideoReceiveStream.
There are still references to RTPFragmentationHeader and SSRCs, which
will be dealt with later.
There are also new GUARDED_BY and thred checker added to the
synchronization class.
When there are othre transports than RTP, there will instead be an
interface + inheritance for RtpStreamReceiver and
RtpStreamSynchronizattion in VideoReceiveStream. This work will be done
when we actually know how we want to make thee transport interface.
BUG=webrtc:5838
Review-Url: https://codereview.webrtc.org/2216533002
Cr-Commit-Position: refs/heads/master@{#13655}
it become static to clearly state input, output and temporary variables
style updated with minor improvments to actual algorithm.
Review-Url: https://codereview.webrtc.org/1989363006
Cr-Commit-Position: refs/heads/master@{#13652}
Adds win_x64_dbg to the default trybot set.
Replaces win_compile_dbg with win_dbg.
This is to cover 32 bit and 64 bit debug configuration in the default
trybot set.
BUG=webrtc:6178
NOTRY=True
Review-Url: https://codereview.webrtc.org/2219763002
Cr-Commit-Position: refs/heads/master@{#13651}
Reason for revert:
Reverting because it broke an RTP data channel test on the FYI bots.
Original issue's description:
> Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage.
>
> To allow end-to-end QuicDataChannel usage with a
> PeerConnection, RTCConfiguration has been modified to
> include a boolean for whether to do QUIC, since negotiation of
> QUIC is not implemented. If one peer does QUIC, then it will be
> assumed that the other peer must do QUIC or the connection
> will fail.
>
> PeerConnection has been modified to create data channels of type
> QuicDataChannel when the peer wants to do QUIC.
>
> WebRtcSession has ben modified to use a QuicDataTransport
> instead of a DtlsTransportChannelWrapper/DataChannel
> when QUIC should be used
>
> QuicDataTransport implements the generic functions of
> BaseChannel to manage the QuicTransportChannel.
>
> Committed: https://crrev.com/34b54c36a533dadb6ceb70795119194e6f530ef5
> Cr-Commit-Position: refs/heads/master@{#13645}
TBR=pthatcher@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.webrtc.org/2206793007
Cr-Commit-Position: refs/heads/master@{#13647}
To allow end-to-end QuicDataChannel usage with a
PeerConnection, RTCConfiguration has been modified to
include a boolean for whether to do QUIC, since negotiation of
QUIC is not implemented. If one peer does QUIC, then it will be
assumed that the other peer must do QUIC or the connection
will fail.
PeerConnection has been modified to create data channels of type
QuicDataChannel when the peer wants to do QUIC.
WebRtcSession has ben modified to use a QuicDataTransport
instead of a DtlsTransportChannelWrapper/DataChannel
when QUIC should be used
QuicDataTransport implements the generic functions of
BaseChannel to manage the QuicTransportChannel.
Review-Url: https://codereview.webrtc.org/2166873002
Cr-Commit-Position: refs/heads/master@{#13645}
After offline discussion, this was mostly of historical use and may
actually be more of a risk now that we have the paced sender.
BUG=
Review-Url: https://codereview.webrtc.org/2198933004
Cr-Commit-Position: refs/heads/master@{#13643}
Also lowering the min bitrate for simulations to be able to better capture this issue in the BweFeedbackTest.Choke200kbps30kbps200kbps performance test.
BUG=webrtc:6105
NOTRY=true
NOPRESUBMIT=true
Review-Url: https://codereview.webrtc.org/2201093006
Cr-Commit-Position: refs/heads/master@{#13639}