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}
This CL removes |default_recv_ssrc_| from DefaultUnsignalledSsrcHandler
and replaces it with calls to a new member function
WebRtcVideoChannel2::GetDefaultReceiveStreamSsrc. The latter checks
the |default_stream_| member on the
WebRtcVideoChannel2::WebRtcVideoReceiveStreams to know which stream
is the current default stream.
This change removes duplicate state and fixes an issue where
incoming unsignaled SSRCs would compete for being the default
receive stream.
BUG=webrtc:7725
Review-Url: https://codereview.webrtc.org/2906893002
Cr-Commit-Position: refs/heads/master@{#18314}
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: 4fa8a97cc3TBR=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}
Reason for revert:
Revert of revert of revert of revert of 'Activating..'. Or "reland of reland of 'Activate..'".
*Now* the internal projects are fixed and the fix is verified.
Original issue's description:
> Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2903153005/ )
>
> Reason for revert:
> Reverting again: internal project issues were apparently not completely fixed.
>
> Original issue's description:
> > Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2904893002/ )
> >
> > Reason for revert:
> > Revert the revert now that internal projects are updated.
> >
> > Original issue's description:
> > > Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
> > >
> > > Reason for revert:
> > > Breaks internal project.
> > >
> > > Original issue's description:
> > > > Activate 'offload debug dump recordings from audio thread to TaskQueue'.
> > > >
> > > > A low priority task queue is added to WebRTCVoiceEngine. The
> > > > start/stop debug calls make file logging happen on the task queue.
> > > >
> > > > In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> > > > so that it can be shared for low priority tasks between different
> > > > subcomponents. It will require some changes to MediaEngine,
> > > > CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> > > > projects.
> > > >
> > > > A task queue must be created and destroyed from the same thread. With
> > > > this CL that will be the worker thread, which creates and destroys
> > > > WebRTCVoiceEngine. With the dependent CL, it will probably change to
> > > > the signaling thread.
> > > >
> > > > NOTRY=True # tests just passed
> > > >
> > > > BUG=webrtc:7404
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2896813002
> > > > Cr-Commit-Position: refs/heads/master@{#18252}
> > > > Committed: c61bf947b4
> > >
> > > TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:7404
> > >
> > > Review-Url: https://codereview.webrtc.org/2904893002
> > > Cr-Commit-Position: refs/heads/master@{#18255}
> > > Committed: be68b72cfa
> >
> > TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:7404
> >
> > Review-Url: https://codereview.webrtc.org/2903153005
> > Cr-Commit-Position: refs/heads/master@{#18270}
> > Committed: d2303a2338
>
> TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2910633002
> Cr-Commit-Position: refs/heads/master@{#18272}
> Committed: fe9ecb07eaTBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7404
Review-Url: https://codereview.webrtc.org/2904423002
Cr-Commit-Position: refs/heads/master@{#18300}
The reason is that there might be implementations that do not want to implement all methods.
To allow easier modification of the RtcEventLog interface, allow these implementation to inherit the RtcEventLogNullImpl implementation.
BUG=none
Review-Url: https://codereview.webrtc.org/2903003002
Cr-Commit-Position: refs/heads/master@{#18298}
The previous code attempted to lock instance_count and instance with a
CriticalSection, but the CriticalSection was not static, so each
function invocation got its own instance. Locking this call-specific
instance doesn't actually stop any other threads from concurrently
accessing the same function-scope globals, so this function had a data
race, which broke tsan tests (and possibly other things).
Making the CriticalSection shared among function calls will actually
synchronize access to the globals and allow our tsan tests to pass.
BUG=webrtc:3062
Review-Url: https://codereview.webrtc.org/2890213002
Cr-Commit-Position: refs/heads/master@{#18296}
AsyncStunTCPSocket wasn't firing SignalSentPacket, which the bandwidth
estimator requires for every packet in order to look up send times when
feedback arrives. If the signal isn't fired, it always assumes feedback
is arriving extremely late, and decreases the bandwidth by a factor of
2 until it reaches the minimum of 10kbps.
BUG=webrtc:7717
TBR=pthatcher@webrtc.org
Review-Url: https://codereview.webrtc.org/2912523003
Cr-Commit-Position: refs/heads/master@{#18279}
This can occur (and by default, terminates the process) for apps that
don't use the "voip" UIBackgroundMode.
We're already doing a similar thing on Linux (using MSG_NOSIGNAL for every
packet sent).
BUG=webrtc:7686
Review-Url: https://codereview.webrtc.org/2903313002
Cr-Commit-Position: refs/heads/master@{#18277}
Reason for revert:
Reverting again: internal project issues were apparently not completely fixed.
Original issue's description:
> Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2904893002/ )
>
> Reason for revert:
> Revert the revert now that internal projects are updated.
>
> Original issue's description:
> > Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
> >
> > Reason for revert:
> > Breaks internal project.
> >
> > Original issue's description:
> > > Activate 'offload debug dump recordings from audio thread to TaskQueue'.
> > >
> > > A low priority task queue is added to WebRTCVoiceEngine. The
> > > start/stop debug calls make file logging happen on the task queue.
> > >
> > > In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> > > so that it can be shared for low priority tasks between different
> > > subcomponents. It will require some changes to MediaEngine,
> > > CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> > > projects.
> > >
> > > A task queue must be created and destroyed from the same thread. With
> > > this CL that will be the worker thread, which creates and destroys
> > > WebRTCVoiceEngine. With the dependent CL, it will probably change to
> > > the signaling thread.
> > >
> > > NOTRY=True # tests just passed
> > >
> > > BUG=webrtc:7404
> > >
> > > Review-Url: https://codereview.webrtc.org/2896813002
> > > Cr-Commit-Position: refs/heads/master@{#18252}
> > > Committed: c61bf947b4
> >
> > TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7404
> >
> > Review-Url: https://codereview.webrtc.org/2904893002
> > Cr-Commit-Position: refs/heads/master@{#18255}
> > Committed: be68b72cfa
>
> TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2903153005
> Cr-Commit-Position: refs/heads/master@{#18270}
> Committed: d2303a2338TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7404
Review-Url: https://codereview.webrtc.org/2910633002
Cr-Commit-Position: refs/heads/master@{#18272}
Reason for revert:
Revert the revert now that internal projects are updated.
Original issue's description:
> Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
>
> Reason for revert:
> Breaks internal project.
>
> Original issue's description:
> > Activate 'offload debug dump recordings from audio thread to TaskQueue'.
> >
> > A low priority task queue is added to WebRTCVoiceEngine. The
> > start/stop debug calls make file logging happen on the task queue.
> >
> > In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> > so that it can be shared for low priority tasks between different
> > subcomponents. It will require some changes to MediaEngine,
> > CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> > projects.
> >
> > A task queue must be created and destroyed from the same thread. With
> > this CL that will be the worker thread, which creates and destroys
> > WebRTCVoiceEngine. With the dependent CL, it will probably change to
> > the signaling thread.
> >
> > NOTRY=True # tests just passed
> >
> > BUG=webrtc:7404
> >
> > Review-Url: https://codereview.webrtc.org/2896813002
> > Cr-Commit-Position: refs/heads/master@{#18252}
> > Committed: c61bf947b4
>
> TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2904893002
> Cr-Commit-Position: refs/heads/master@{#18255}
> Committed: be68b72cfaTBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7404
Review-Url: https://codereview.webrtc.org/2903153005
Cr-Commit-Position: refs/heads/master@{#18270}
The change is now compatible with the old JVM::Initialize API. The
context is passed to the ContextUtils class when calling its deprecated
signature.
BUG=webrtc:7665
NOTRY=True # Only comment changes since the last patchset.
Review-Url: https://codereview.webrtc.org/2903253004
Cr-Commit-Position: refs/heads/master@{#18268}
This CL doesn't yet offer these protos; it just accepts them if they're
seen in a remote offer. It also doesn't verify that the ICE candidate
protocol matches the m= section protocol (UDP vs. TCP), since we don't
do this elsewhere and don't really have a reason to care.
This CL also adds an integration test that receives a spec-compliant
SCTP offer and attempts to send data bidirectionally.
BUG=webrtc:7706
Review-Url: https://codereview.webrtc.org/2902213002
Cr-Commit-Position: refs/heads/master@{#18265}
Reason for revert:
Breaks internal project.
Original issue's description:
> Activate 'offload debug dump recordings from audio thread to TaskQueue'.
>
> A low priority task queue is added to WebRTCVoiceEngine. The
> start/stop debug calls make file logging happen on the task queue.
>
> In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> so that it can be shared for low priority tasks between different
> subcomponents. It will require some changes to MediaEngine,
> CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> projects.
>
> A task queue must be created and destroyed from the same thread. With
> this CL that will be the worker thread, which creates and destroys
> WebRTCVoiceEngine. With the dependent CL, it will probably change to
> the signaling thread.
>
> NOTRY=True # tests just passed
>
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2896813002
> Cr-Commit-Position: refs/heads/master@{#18252}
> Committed: c61bf947b4TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7404
Review-Url: https://codereview.webrtc.org/2904893002
Cr-Commit-Position: refs/heads/master@{#18255}
A low priority task queue is added to WebRTCVoiceEngine. The
start/stop debug calls make file logging happen on the task queue.
In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
so that it can be shared for low priority tasks between different
subcomponents. It will require some changes to MediaEngine,
CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
projects.
A task queue must be created and destroyed from the same thread. With
this CL that will be the worker thread, which creates and destroys
WebRTCVoiceEngine. With the dependent CL, it will probably change to
the signaling thread.
NOTRY=True # tests just passed
BUG=webrtc:7404
Review-Url: https://codereview.webrtc.org/2896813002
Cr-Commit-Position: refs/heads/master@{#18252}
Reason for revert:
Causes a new TSan race warning. Will reland after fixing. Note this is the same race as will be fixed by https://codereview.webrtc.org/2876273002/.
Original issue's description:
> Fixing potential AsyncInvoker deadlock that occurs for "reentrant" invocations.
>
> The deadlock occurs if the AsyncInvoker is destroyed on thread A while
> a task on thread B is running, which AsyncInvokes a task back on thread
> A.
>
> This was causing pending_invocations_ to end up negative, because
> an AsyncClosure that's never added to a thread's message queue (due to
> the "destroying_" flag) caused the count to be decremented but not
> incremented.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2885143006
> Cr-Commit-Position: refs/heads/master@{#18225}
> Committed: ef37ca5fb3TBR=nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None
Review-Url: https://codereview.webrtc.org/2904543003
Cr-Commit-Position: refs/heads/master@{#18248}
Change packetizer interface to explicitly return number of packets
instead of a last flag. Account for extra space needed in the last
packet.
BUG=webrtc:7588,webrtc:7594
Review-Url: https://codereview.webrtc.org/2871173008
Cr-Commit-Position: refs/heads/master@{#18244}
On Linux, during Windwo sharing, the cursore capture may happen in the parent
window of the target. And the parent window may have some decorations added by
window manager(Chrome windows don't have those decorations.), so the relative
cursor position to the parent window with decorations may differ to its child
target window. The offset includes the height of caption bar and the around
shadow and border.
This problem only happens with Window sharing on Linux.
The fix is to translate the coordinates from the parent window to the coordinates space of the target window.
BUG=723889
Review-Url: https://codereview.webrtc.org/2889063002
Cr-Commit-Position: refs/heads/master@{#18243}
This CL implements webrtc::AecDump, which is an interface defined in
https://codereview.webrtc.org/2778783002.
This AudioProcessing submodule writes audio and APM state to a
file. The file writing is done by posting IO tasks
(write_to_file_task.h) on an rtc::TaskQueue. There is an existing
implementation for this through AudioProcessing::StartDebugRecording()
and AudioProcessing::StopDebugRecording(). This implementation still
works, and is used as the default until this dependent CL:
https://codereview.webrtc.org/2896813002/.
To be able to build webrtc without protobuf support, the interface is
isolated from protobuf types. Audio data from AudioProcessing is
passed to AecDumpImpl through the AecDump interface. There it is
stored in protobuf objects, which are posted on the task queue.
This functionality is verified correct by the CL
https://codereview.webrtc.org/2864373002, which enables this recording
submodule in APM tests.
BUG=webrtc:7404
Review-Url: https://codereview.webrtc.org/2865113002
Cr-Commit-Position: refs/heads/master@{#18241}