Will also ensure that full-duplex audio now works on iOS simulators.
Bug: b/37580746
Change-Id: Iab1af39b0e6e6c124435814558caf77c474bd612
Reviewed-on: https://chromium-review.googlesource.com/519246
Commit-Queue: Henrik Andreasson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18381}
ScheduledExecutorService silently ignores exceptions thrown by the
runnable. This makes debugging issues unnecessarily difficult.
Bug: None
Change-Id: I7deb43b96e5639c096b9aed9c6ff9b197b62f59f
Reviewed-on: https://chromium-review.googlesource.com/521084
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18378}
Decision was made to keep this API for the time being.
Bug: webrtc:7710
Change-Id: Ief41ffb2ec2345e3a74fc72927d038be1ff5941c
No-Try: True
Reviewed-on: https://chromium-review.googlesource.com/521085
Reviewed-by: Henrik Andreasson <henrika@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18377}
Reason for revert:
Fixing and re-landing.
Original issue's description:
> Revert of Enabling `gn check` on webrtc/test (patchset #9 id:160001 of https://codereview.webrtc.org/2911203002/ )
>
> Reason for revert:
> ERROR at //webrtc/test/testsupport/fileutils_unittest.cc:20:11: Can't include this header from here.
> #include "webrtc/base/checks.h"
> ^-------------------
> The target:
> //webrtc/test:fileutils_unittests
> is including a file from the target:
> //webrtc/base:rtc_base_approved
>
> It's usually best to depend directly on the destination target.
> In some cases, the destination target is considered a subcomponent
> of an intermediate target. In this case, the intermediate target
> should depend publicly on the destination to forward the ability
> to include headers.
>
> Dependency chain (there may also be others):
> //webrtc/test:fileutils_unittests -->
> //webrtc/test:fileutils --[private]-->
> //webrtc/base:rtc_base_approved
>
>
> Original issue's description:
> > Enabling `gn check` on webrtc/test
> >
> > BUG=webrtc:6828
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2911203002
> > Cr-Commit-Position: refs/heads/master@{#18372}
> > Committed: db5bb404b0
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6828
>
> Review-Url: https://codereview.webrtc.org/2920763002
> Cr-Commit-Position: refs/heads/master@{#18375}
> Committed: 1a6f143d07TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828
Review-Url: https://codereview.webrtc.org/2918793002
Cr-Commit-Position: refs/heads/master@{#18376}
Reason for revert:
ERROR at //webrtc/test/testsupport/fileutils_unittest.cc:20:11: Can't include this header from here.
#include "webrtc/base/checks.h"
^-------------------
The target:
//webrtc/test:fileutils_unittests
is including a file from the target:
//webrtc/base:rtc_base_approved
It's usually best to depend directly on the destination target.
In some cases, the destination target is considered a subcomponent
of an intermediate target. In this case, the intermediate target
should depend publicly on the destination to forward the ability
to include headers.
Dependency chain (there may also be others):
//webrtc/test:fileutils_unittests -->
//webrtc/test:fileutils --[private]-->
//webrtc/base:rtc_base_approved
Original issue's description:
> Enabling `gn check` on webrtc/test
>
> BUG=webrtc:6828
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2911203002
> Cr-Commit-Position: refs/heads/master@{#18372}
> Committed: db5bb404b0TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6828
Review-Url: https://codereview.webrtc.org/2920763002
Cr-Commit-Position: refs/heads/master@{#18375}
Constants kRTCVp8CodecName, kRTCVp9CodecName, kRTCH264CodecName declared
in RTCRtpCodecParameters.h were defined without the "RTC" part in their
names, thus using them in the app code resulted in linking errors. This
patch fixes the naming mismatch.
BUG=webrtc:7721
Review-Url: https://codereview.webrtc.org/2910863002
Cr-Commit-Position: refs/heads/master@{#18363}
Similar to the existing constants for the media constraint-keys intended
for media sources, add the constants for the standard keys to generate
offers and answers.
This patch also adds a few comments to RTCMediaConstraints.h, to give
a better clue on the intended usage scope of declared media-constraint
keys and values.
BUG=webrtc:7722
Review-Url: https://codereview.webrtc.org/2908013002
Cr-Commit-Position: refs/heads/master@{#18362}
Only will be used if WEBRTC_POSIX and WEBRTC_LINUX are both defined and
"epoll_create" doesn't return an error. Otherwise the default "select"-based
IO loop will be used.
BUG=webrtc:7585
Review-Url: https://codereview.webrtc.org/2880923002
Cr-Commit-Position: refs/heads/master@{#18359}
1. Create unit tests for RtpDemuxer.
2. Add an RTC_DCHECK in RtpDemuxer that makes sure that the sink<->ssrc multimap does not allow multiple instances of the same association.
BUG=None
Review-Url: https://codereview.webrtc.org/2902823004
Cr-Commit-Position: refs/heads/master@{#18357}
Delete unused member |rtp_receiver_|, and simplify a return statement.
BUG=webrtc:5565
Review-Url: https://codereview.webrtc.org/2912363002
Cr-Commit-Position: refs/heads/master@{#18354}
Use an overloaded version of UpdateNetworkMetrics() which does not require us to explicitly pass in an rtc::Optional.
BUG=None
Review-Url: https://codereview.webrtc.org/2899313004
Cr-Commit-Position: refs/heads/master@{#18347}
The old video send stream configs could contain multiple SSRCs and RTX SSRCs (in case of simulcast). To ensure that the RtcEventLog parser is backwards compatible, we have to return one config for every SSRC.
Also update the parsing functions for the other config types to return the config instead of passing in an output parameter.
BUG=webrtc:7731
Review-Url: https://codereview.webrtc.org/2912113002
Cr-Commit-Position: refs/heads/master@{#18343}
Also deletes a couple of includes of call.h, which seem
unnecessary.
BUG=None
Review-Url: https://codereview.webrtc.org/2907403003
Cr-Commit-Position: refs/heads/master@{#18340}
(This CL concerns both the PLR-based as well as the RPLR-based versions of FecController.)
1. Make FecController disable only when below the disabling-threshold, so as to prevent toggling when the enabling-curve and the disabling-curve are identical.
2. Extend unit-test coverage accordingly.
BUG=None
Review-Url: https://codereview.webrtc.org/2906663002
Cr-Commit-Position: refs/heads/master@{#18337}
Add test for vp8/vp9 qp parser in both videoprocessor_integrationtest.
Check the qp from parser equal to that from the encoder
on every frame in every test.
Add test for vp8/vp9 qp parser in vp8/vp9_impl_test.
Check the qp parser on a single key frame.
BUG=None
Review-Url: https://codereview.webrtc.org/2903163002
Cr-Commit-Position: refs/heads/master@{#18334}
The previous limit leaved no margin for RTT.
BUG=webrtc:4172
Review-Url: https://codereview.webrtc.org/2911243002
Cr-Commit-Position: refs/heads/master@{#18333}
This CL adds a way for external clients to inject their own OpenGL(ES)
shaders to RTCEAGLVideoView/RTCNSGLVideoView. The shader interface
takes textures as arguments, and not RTCVideoFrame, so that
implementations only has to deal with actual OpenGL rendering, and not
converting frames into textures.
This CL also moves the internal shader code around a bit. The current
RTCShader interface with the implementations RTCI420Shader and
RTCNativeNV12Shader are removed. RTCEAGLVideoView and RTCNSGLVideoView
will be responsible for uploading the frames to textures instead
using the helper classes RTCI420TextureCache and RTCNV12TextureCache.
They then call the shader implementation with these textures. The
rendering code that used to be in RTCI420Shader and RTCNativeNV12Shader
have been merged into one RTCDefaultShaderDelegate class.
BUG=webrtc:7473
Review-Url: https://codereview.webrtc.org/2869143002
Cr-Commit-Position: refs/heads/master@{#18326}
magjed is already an owner of the two subfolders webrtc/sdk/android and
webrtc/sdk/objc, but that misses webrtc/sdk/BUILD.gn (as well as
possible future changes to the webrtc/sdk folder).
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/2910073004
Cr-Commit-Position: refs/heads/master@{#18325}
Biggest change is to Remove MediaType as argument to RtcEventLog::LogRtpHeader and RtcEventLog::LogRtcpHeader.
Since the type is used by tools, these tools are rewritten to figure out the media type from the configurations instead.
BUG=webrtc:7538
TBR=solenberg@webrtc.org // For call.cc and voiceengine.cc
Review-Url: https://codereview.webrtc.org/2855143002
Cr-Commit-Position: refs/heads/master@{#18324}
Before this CL, the RTP state would be re-randomized after a
recreation of VideoSendStream. That might lead to us sending
a non-compliant RTP stream, which is avoided after the
changes in this CL.
BUG=webrtc:5654
TBR=pbos@webrtc.org # Trivial change to fuzzer.
Review-Url: https://codereview.webrtc.org/2912713002
Cr-Commit-Position: refs/heads/master@{#18322}
This change:
Reduces complexity for audio playout by removing a redundant memcopy in the output audio path.
Adds support for iOS simulator for playout since we now allow the audio layer to ask for different sizes
of audio buffers at each callback. Real iOS devices always asks for the same size, simulators does not.
This change comes without any new cost for real devices.
BUG=b/37580746
Review-Url: https://codereview.webrtc.org/2894873002
Cr-Commit-Position: refs/heads/master@{#18321}
Reason for revert:
Take three of relanding this after all internal issues have been resolved.
Original issue's description:
> Revert of Adding backward compatibility header (patchset #1 id:1 of https://codereview.webrtc.org/2909923002/ )
>
> Reason for revert:
> Breaks downstream project.
>
> Original issue's description:
> > Adding backward compatibility header
> >
> > This header will be removed ad soon as downstream projects will be
> > updated.
> >
> > BUG=webrtc:4867
> > NOTRY=True
> > TBR=kjellander@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2909923002
> > Cr-Commit-Position: refs/heads/master@{#18306}
> > Committed: 4fa8a97cc3
>
> TBR=kjellander@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4867
>
> Review-Url: https://codereview.webrtc.org/2908143003
> Cr-Commit-Position: refs/heads/master@{#18308}
> Committed: 6684fdce93TBR=kjellander@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4867
Review-Url: https://codereview.webrtc.org/2912773003
Cr-Commit-Position: refs/heads/master@{#18320}
After this CL, reconfiguring the FlexFEC payload type at the
WebRtcVideoChannel2 level will no longer lead to the recreation of
the VideoReceiveStream. This means that the jitter buffer will
not be destroyed and a smoother video playback is achieved during
SDP renegotiation.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2911913002
Cr-Commit-Position: refs/heads/master@{#18318}
Previously, the base class PlanarYuvBuffer was used directly. Having
separate base classes will allow us to improve type safety in some
places.
BUG=webrtc:7632
TBR=stefan@webrtc.org
Review-Url: https://codereview.webrtc.org/2914463002
Cr-Commit-Position: refs/heads/master@{#18317}