Due to quirks of the Cocoa runtime several platform-specific fixes were
in place. See the deleted files maccocoathreadhelper and
scoped_autorelease_pool for examples. There is no way to do a stack-based
RAII autoreleasepool that is compatible with ARC, and autoreleasepool
blocks can't be used with c++. The solution was to separate out the
implementation of some methods in thread.h to an ObjC++ file for Darwin
platforms, allowing us to get rid of the helper classes and enable ARC
everywhere.
BUG=webrtc:6412
Review-Url: https://codereview.webrtc.org/2784483002
Cr-Commit-Position: refs/heads/master@{#17436}
The test is flaky for Msan (memory sanitizer).
The test fails in this way:
../../webrtc/video/end_to_end_tests.cc:2237: Failure
Failed
Timed out while waiting for initial probing.
TBR=sprang@webrtc.org
NOTRY=true
BUG=webrtc:7419
Review-Url: https://codereview.webrtc.org/2778973004
Cr-Commit-Position: refs/heads/master@{#17434}
Improves current multi-threading performance (for the same number of threads) by:
5%-8% speedup for 2 threads, ~15% for 4 threads on Linux/Mac
with standalone libvpx.
~6% speedup on AppRTC on Linux/Mac with 4 threads.
BUG=None
Review-Url: https://codereview.webrtc.org/2776803002
Cr-Commit-Position: refs/heads/master@{#17432}
The command
tools/checklicenses/checklicenses.py --ignore-suppressions ./webrtc
previously produced this output:
'webrtc/modules/audio_processing/test/apmtest.m' has non-whitelisted license 'UNKNOWN'
'webrtc/modules/audio_processing/transient/test/readDetection.m' has non-whitelisted license 'UNKNOWN'
'webrtc/modules/audio_processing/transient/test/readPCM.m' has non-whitelisted license 'UNKNOWN'
...
This CL adds the WebRTC licence with appropriate year to all our
MATLAB files. All these files were contributed by WebRTC project
members hlundin@, pbos@, niklase@.
BUG=chromium:98592
NOTRY=True
Review-Url: https://codereview.webrtc.org/2781663005
Cr-Commit-Position: refs/heads/master@{#17428}
Reason for revert:
Reverting since this seems to break multiple WebRTC Perf buildbots
Original issue's description:
> Don't hardcode MediaType::ANY in FakeNetworkPipe.
>
> Instead let each test set the appropriate media type. This simplifies
> demuxing in Call and later in RtpTransportController.
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/2774463003
> Cr-Commit-Position: refs/heads/master@{#17418}
> Committed: 9c47b00e24TBR=stefan@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org,pbos@webrtc.org,sprang@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2784543002
Cr-Commit-Position: refs/heads/master@{#17427}
It will enable us to start immediate loopback just by passing
the "loopback" string, as argument when launching.
Usefull for testing and command line profiling.
BUG=NONE
Review-Url: https://codereview.webrtc.org/2777983004
Cr-Commit-Position: refs/heads/master@{#17426}
Makes sense, since it not recording/playing to begin with.
BUG=b/35415663
Review-Url: https://codereview.webrtc.org/2783673002
Cr-Commit-Position: refs/heads/master@{#17423}
The class creates one WavReaderInterface object for each unique audiotrack and builds the set of speaker names.
Validating if the audiotrack lengths and the timing information are compatible (and hence valid) is not implemented yet.
MultiEndCall is designed using dependency injection. This allows to use mock objects with which we can quickly simulate different timings and track lengths without needing actual wav files.
BUG=webrtc:7218
Review-Url: https://codereview.webrtc.org/2761853002
Cr-Commit-Position: refs/heads/master@{#17421}
Instead let each test set the appropriate media type. This simplifies
demuxing in Call and later in RtpTransportController.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/2774463003
Cr-Commit-Position: refs/heads/master@{#17418}
This CL fixes a comment that has the wrong format, and takes over
ownership of an orphaned todo. It also removes some unneeded code
from ObjC classes and moves them to a style more fitting the rest
of the codebase.
BUG=None
Review-Url: https://codereview.webrtc.org/2777453003
Cr-Commit-Position: refs/heads/master@{#17416}
The new RTCVideoSource interface can be used by custom implementations of RTCVideoCapturer.
BUG=webrtc:7177
TBR=tommi
Review-Url: https://codereview.webrtc.org/2745193002
Cr-Commit-Position: refs/heads/master@{#17409}
Moves settings model and related classes to code common for both iOS
and Mac.
BUG=webrtc:7177,webrtc:6494
Review-Url: https://codereview.webrtc.org/2770113004
Cr-Commit-Position: refs/heads/master@{#17408}
When screen/window capturers fail to use shared memory, they are
supposed to fall back to XGetImage(). It's slower, but should still
allow to capture desktop content. This wasn't implemented correclty in
XScreenPixelBuffer - it was failing completely when shmget() returns an
error.
BUG=705146
Review-Url: https://codereview.webrtc.org/2775793003
Cr-Commit-Position: refs/heads/master@{#17401}
Decouples encode flags and calculates them the same for both default and
screencast temporal layers.
With this change encoders could start using TemporalReferences for
temporal-layers flags, but they can not be used by asynchronous encoders
(hardware encoders) yet.
Also removes 'timestamp' as a dead parameter to FrameEncoded().
BUG=chromium:702017, webrtc:7349
R=marpan@google.com, sprang@webrtc.org, marpan@webrtc.org
Review-Url: https://codereview.webrtc.org/2769263002 .
Cr-Commit-Position: refs/heads/master@{#17397}
JSEP implementations are required to always generate offers with
"actpass", but remote endpoints are not. So we should accept remote
offers with the current negotiated DTLS role.
This was recently clarified in dtls-sdp; it was somewhat ambiguous
before.
Also doing a bit of refactoring of JsepTransport (making a method
private that should have been private, fixing unit tests that were
directly calling said method).
BUG=webrtc:7072
Review-Url: https://codereview.webrtc.org/2770903003
Cr-Commit-Position: refs/heads/master@{#17396}
Implementation owned by call, and passed to VideoSendStream and
AudioSendStream.
BUG=webrtc:6847, webrtc:7135
Review-Url: https://codereview.webrtc.org/2685673003
Cr-Commit-Position: refs/heads/master@{#17389}
This reverts to previous behavior where b=AS only affects the codec bitrate for audio streams, and not the max bandwidth estimate.
BUG=chromium:703903
Review-Url: https://codereview.webrtc.org/2774123002
Cr-Commit-Position: refs/heads/master@{#17386}
This will later allow calling the "PeerConnectionObserver::OnIceCandidate"
method asynchronously while keeping the object alive.
BUG=webrtc:3721
Review-Url: https://codereview.webrtc.org/2748253003
Cr-Commit-Position: refs/heads/master@{#17380}
The test is failing due to libvpx roll which will be fixed in future roll.
It wasn't discovered at trybots since webrtc_perf_tests doesn't run
on Mac because of webrtc:7322.
BUG=webrtc:7401
TBR=marpan@webrtc.org
Review-Url: https://codereview.webrtc.org/2774973002 .
Cr-Commit-Position: refs/heads/master@{#17377}
TWCC-PLR -based FecController doesn’t need smoothing; instead, use "null-smoothing", which just returns the last value (if any).
If we end up using TWCC-PLR, we'll just remove smoothing altogether. Until then, this is the least intrusive way to modify the code while still letting it work correctly for RTCP-PLR.
BUG=webrtc:7058
Review-Url: https://codereview.webrtc.org/2687433004
Cr-Commit-Position: refs/heads/master@{#17375}
Reason for revert:
Makes perf and Chromium FYI bots unhappy.
Original issue's description:
> WebRtcVoiceMediaChannel::AddRecvStream: Don't call SetRecPayloadType
>
> This removes one more place where we were unable to handle codecs not
> in the built-in set.
>
> BUG=webrtc:5805
>
> Review-Url: https://codereview.webrtc.org/2686043006
> Cr-Commit-Position: refs/heads/master@{#17370}
> Committed: 1724cfbdbaTBR=ossu@webrtc.org,solenberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5805
Review-Url: https://codereview.webrtc.org/2772043002
Cr-Commit-Position: refs/heads/master@{#17374}
1. Rename FecController to FecControllerPlrBased.
2. Introduce FecControllerRplrBased - a version of FecController that makes its decision based on RPLR instead of PLR.
BUG=webrtc:7058
Review-Url: https://codereview.webrtc.org/2672933003
Cr-Commit-Position: refs/heads/master@{#17373}