10819 Commits

Author SHA1 Message Date
jianj
b5f5bdba77 Add unit tests for qp parser.
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}
2017-05-30 17:57:25 +00:00
sprang
6c4bbfa06f Update max TL0 frame interval for screensharing.
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}
2017-05-30 17:08:23 +00:00
minyue
12de077b14 Avoiding check on reordering configs in ANA if there is no controller has scoring point.
BUG=webrtc:7729

Review-Url: https://codereview.webrtc.org/2910193002
Cr-Commit-Position: refs/heads/master@{#18331}
2017-05-30 15:56:08 +00:00
jansson
d4d2ecec18 Change from stderr to output, add new line and replace return with break.
BUG=webrtc:7698

Review-Url: https://codereview.webrtc.org/2912933002
Cr-Commit-Position: refs/heads/master@{#18330}
2017-05-30 14:48:06 +00:00
minyue
678d2ee651 Cosmetic change in ANA: renaming characteristic points for consistency.
BUG=none

Review-Url: https://codereview.webrtc.org/2907153004
Cr-Commit-Position: refs/heads/master@{#18329}
2017-05-30 14:36:20 +00:00
mbonadei
07502d4f14 Fixing absolute path that was breaking chromium
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2908973005
Cr-Commit-Position: refs/heads/master@{#18328}
2017-05-30 13:23:41 +00:00
magjed
13941912b1 ObjC: Add interface for injecting custom shaders in video views
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}
2017-05-30 13:11:58 +00:00
magjed
2cc70facaf Add magjed as an owner of webrtc/sdk
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}
2017-05-30 12:54:52 +00:00
perkj
77cd58e140 This cl removes RtcEventLog deps to call:call_interfaces. The purpose is to be able to use the event log from the upcoming RtpTransport.
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}
2017-05-30 10:52:10 +00:00
brandtr
48d21a23c6 Persist RTP state for FlexFEC.
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}
2017-05-30 09:32:12 +00:00
henrika
bb6f7524ba Improved audio buffer handling for iOS.
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}
2017-05-30 09:01:30 +00:00
mbonadei
d762058234 Reland of Adding backward compatibility header (patchset #1 id:1 of https://codereview.webrtc.org/2908143003/ )
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: 6684fdce93

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/2912773003
Cr-Commit-Position: refs/heads/master@{#18320}
2017-05-30 08:50:35 +00:00
kthelgason
2f08879fb1 Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2911053002/ )
Reason for revert:
Take three of relanding this after all internal issues have been resolved.

Original issue's description:
> Revert of Split iOS sdk in to separate targets (patchset #3 id:320001 of https://codereview.webrtc.org/2893843003/ )
>
> Reason for revert:
> Breaks downstream project.
>
> Original issue's description:
> > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2893593002/ )
> >
> > Reason for revert:
> > Take two of fixing downstream issues?
> >
> > Original issue's description:
> > > Revert of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890733003/ )
> > >
> > > Reason for revert:
> > > Still problems with downstream projects
> > >
> > > Original issue's description:
> > > > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890513002/ )
> > > >
> > > > Reason for revert:
> > > > Fixing downstream breakages
> > > >
> > > > Original issue's description:
> > > > > Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ )
> > > > >
> > > > > Reason for revert:
> > > > > Breaking downstream projects.
> > > > >
> > > > > Original issue's description:
> > > > > > Split iOS sdk in to separate targets
> > > > > >
> > > > > > This CL splits the iOS sdk into separate static libraries for video,
> > > > > > audio, ui, common, and peerconnection-related code. This will in the
> > > > > > future make it easier to compile WebRTC without unneeded components.
> > > > > >
> > > > > > BUG=webrtc:4867
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2862543002
> > > > > > Cr-Commit-Position: refs/heads/master@{#18166}
> > > > > > Committed: 52c83fe710
> > > > >
> > > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@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/2890513002
> > > > > Cr-Commit-Position: refs/heads/master@{#18170}
> > > > > Committed: 9756238084
> > > >
> > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2890733003
> > > > Cr-Commit-Position: refs/heads/master@{#18174}
> > > > Committed: d51e042492
> > >
> > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2893593002
> > > Cr-Commit-Position: refs/heads/master@{#18182}
> > > Committed: 37144b214e
> >
> > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2893843003
> > Cr-Commit-Position: refs/heads/master@{#18303}
> > Committed: 580c3522d2
>
> TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,kthelgason@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/2911053002
> Cr-Commit-Position: refs/heads/master@{#18309}
> Committed: af5c05540c

TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,mbonadei@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/2913753003
Cr-Commit-Position: refs/heads/master@{#18319}
2017-05-30 08:48:47 +00:00
brandtr
11fb472ae4 Recreate FlexfecReceiveStream separately from VideoReceiveStream.
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}
2017-05-30 08:31:37 +00:00
magjed
eaf4a1e103 Add separate base classes for I420 and I444 buffers
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}
2017-05-30 08:21:59 +00:00
brandtr
53800ed191 Remove RTPSenderVideo::FecPacketOverhead() since it is unused.
BUG=None

Review-Url: https://codereview.webrtc.org/2914493002
Cr-Commit-Position: refs/heads/master@{#18315}
2017-05-30 06:34:37 +00:00
brandtr
0dc57eabf6 Avoid toggling default receive streams in WebRtcVideoChannel2.
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}
2017-05-30 06:33:31 +00:00
mbonadei
af5c05540c Revert of Split iOS sdk in to separate targets (patchset #3 id:320001 of https://codereview.webrtc.org/2893843003/ )
Reason for revert:
Breaks downstream project.

Original issue's description:
> Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2893593002/ )
>
> Reason for revert:
> Take two of fixing downstream issues?
>
> Original issue's description:
> > Revert of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890733003/ )
> >
> > Reason for revert:
> > Still problems with downstream projects
> >
> > Original issue's description:
> > > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890513002/ )
> > >
> > > Reason for revert:
> > > Fixing downstream breakages
> > >
> > > Original issue's description:
> > > > Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ )
> > > >
> > > > Reason for revert:
> > > > Breaking downstream projects.
> > > >
> > > > Original issue's description:
> > > > > Split iOS sdk in to separate targets
> > > > >
> > > > > This CL splits the iOS sdk into separate static libraries for video,
> > > > > audio, ui, common, and peerconnection-related code. This will in the
> > > > > future make it easier to compile WebRTC without unneeded components.
> > > > >
> > > > > BUG=webrtc:4867
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2862543002
> > > > > Cr-Commit-Position: refs/heads/master@{#18166}
> > > > > Committed: 52c83fe710
> > > >
> > > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@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/2890513002
> > > > Cr-Commit-Position: refs/heads/master@{#18170}
> > > > Committed: 9756238084
> > >
> > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2890733003
> > > Cr-Commit-Position: refs/heads/master@{#18174}
> > > Committed: d51e042492
> >
> > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2893593002
> > Cr-Commit-Position: refs/heads/master@{#18182}
> > Committed: 37144b214e
>
> TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2893843003
> Cr-Commit-Position: refs/heads/master@{#18303}
> Committed: 580c3522d2

TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org,kthelgason@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/2911053002
Cr-Commit-Position: refs/heads/master@{#18309}
2017-05-29 16:57:37 +00:00
mbonadei
6684fdce93 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}
2017-05-29 16:41:15 +00:00
mbonadei
4fa8a97cc3 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}
2017-05-29 15:20:58 +00:00
nisse
30e8931ea7 Delete RtpData::OnRecoveredPacket, use RecoveredPacketReceiver instead.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2886813002
Cr-Commit-Position: refs/heads/master@{#18305}
2017-05-29 15:16:37 +00:00
kthelgason
580c3522d2 Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2893593002/ )
Reason for revert:
Take two of fixing downstream issues?

Original issue's description:
> Revert of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890733003/ )
>
> Reason for revert:
> Still problems with downstream projects
>
> Original issue's description:
> > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890513002/ )
> >
> > Reason for revert:
> > Fixing downstream breakages
> >
> > Original issue's description:
> > > Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ )
> > >
> > > Reason for revert:
> > > Breaking downstream projects.
> > >
> > > Original issue's description:
> > > > Split iOS sdk in to separate targets
> > > >
> > > > This CL splits the iOS sdk into separate static libraries for video,
> > > > audio, ui, common, and peerconnection-related code. This will in the
> > > > future make it easier to compile WebRTC without unneeded components.
> > > >
> > > > BUG=webrtc:4867
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2862543002
> > > > Cr-Commit-Position: refs/heads/master@{#18166}
> > > > Committed: 52c83fe710
> > >
> > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@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/2890513002
> > > Cr-Commit-Position: refs/heads/master@{#18170}
> > > Committed: 9756238084
> >
> > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2890733003
> > Cr-Commit-Position: refs/heads/master@{#18174}
> > Committed: d51e042492
>
> TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2893593002
> Cr-Commit-Position: refs/heads/master@{#18182}
> Committed: 37144b214e

TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@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/2893843003
Cr-Commit-Position: refs/heads/master@{#18303}
2017-05-29 12:46:00 +00:00
aleloi
048cbdda0d Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2910633002/ )
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: fe9ecb07ea

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/2904423002
Cr-Commit-Position: refs/heads/master@{#18300}
2017-05-29 09:56:27 +00:00
perkj
33bb86d5a1 Remove final from RtcEventLogNullImpl
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}
2017-05-29 09:46:05 +00:00
cstanfill
c66f8d7d6d Prevent data race in GetStaticInstance
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}
2017-05-29 07:01:14 +00:00
deadbeef
b56671e051 Fix issue with send-side bandwidth estimation over TURN TCP connections.
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}
2017-05-27 01:40:05 +00:00
deadbeef
eae4564cb7 Disable SIGPIPE for sockets created on iOS.
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}
2017-05-26 23:27:09 +00:00
aleloi
fe9ecb07ea 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}
2017-05-26 12:46:34 +00:00
aleloi
d2303a2338 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}
2017-05-26 12:13:18 +00:00
sakal
407e3afd37 Add sakal@webrtc.org as an owner of examples/androidtests.
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2886363004
Cr-Commit-Position: refs/heads/master@{#18269}
2017-05-26 10:24:12 +00:00
sakal
d7fdb8014d Reland of Removes usage of native base::android::GetApplicationContext()
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}
2017-05-26 08:51:53 +00:00
jtteh
13ae11a418 Add observer for AVAudioSession.outputVolume
BUG=webrtc:7696

Review-Url: https://codereview.webrtc.org/2895263006
Cr-Commit-Position: refs/heads/master@{#18267}
2017-05-26 00:52:20 +00:00
deadbeef
a615e17ec0 Allow constructing an EglBase from an existing shared EGLContext.
BUG=None

Review-Url: https://codereview.webrtc.org/2885163003
Cr-Commit-Position: refs/heads/master@{#18266}
2017-05-25 17:11:25 +00:00
deadbeef
8b7e9ad554 Support "UDP/DTLS/SCTP" and "TCP/DTLS/SCTP" profile strings.
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}
2017-05-25 16:38:55 +00:00
eladalon
edd6eea542 Rename elad.alon to eladalon, to avoid confusion between repositories.
BUG=None
NOTRY=true

Review-Url: https://codereview.webrtc.org/2899303002
Cr-Commit-Position: refs/heads/master@{#18264}
2017-05-25 07:15:35 +00:00
lliuu
548cdce7bc Revert of https://codereview.webrtc.org/2889183002/
And also revert https://codereview.webrtc.org/2888093005/ (Chromium roll) which has a dependency on 2889183002

BUG=webrtc:7707

Review-Url: https://codereview.webrtc.org/2897423002
Cr-Commit-Position: refs/heads/master@{#18263}
2017-05-24 23:45:57 +00:00
jianj
20acdf2443 Add vp9 QP parser.
BUG=webrtc:7662

Review-Url: https://codereview.webrtc.org/2891803003
Cr-Commit-Position: refs/heads/master@{#18260}
2017-05-24 17:00:16 +00:00
eladalon
ae550e397a Correct sequence-number injection into packets in rtp_packet_unittest.cc
BUG=None

Review-Url: https://codereview.webrtc.org/2899293002
Cr-Commit-Position: refs/heads/master@{#18257}
2017-05-24 15:28:13 +00:00
aleloi
be68b72cfa 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}
2017-05-24 11:19:54 +00:00
kwiberg
0afb13014b AudioEncoderPcm16B: Number of bits/sample is 16, not 2
Clearly, this was a case of bit/byte confusion.

BUG=none

Review-Url: https://codereview.webrtc.org/2904883002
Cr-Commit-Position: refs/heads/master@{#18254}
2017-05-24 11:09:52 +00:00
aleloi
c61bf947b4 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}
2017-05-24 08:47:18 +00:00
elad.alon
3696f7efc4 Remove unneeded gmock header from RPLR UT
BUG=None

Review-Url: https://codereview.webrtc.org/2898193002
Cr-Commit-Position: refs/heads/master@{#18250}
2017-05-24 07:13:25 +00:00
peah
1b92722ad5 Simplified the ERLE computation code in AEC3
BUG=webrtc:7519

Review-Url: https://codereview.webrtc.org/2901253002
Cr-Commit-Position: refs/heads/master@{#18249}
2017-05-24 06:44:47 +00:00
deadbeef
aea9293fd4 Revert of Fixing potential AsyncInvoker deadlock that occurs for "reentrant" invocations. (patchset #3 id:40001 of https://codereview.webrtc.org/2885143006/ )
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: ef37ca5fb3

TBR=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}
2017-05-23 19:55:03 +00:00
danilchap
b34f6a8520 Remove deprecated isFirstPacket member name
Original rename .isFirstPacket to .is_first_packet_in_frame
was done in https://codereview.webrtc.org/2614503002

BUG=None

Review-Url: https://codereview.webrtc.org/2895473004
Cr-Commit-Position: refs/heads/master@{#18247}
2017-05-23 18:06:56 +00:00
stefan
95e9754e40 More gracefully handle timing errors, such as unexpected changes in the rtp timestamp.
BUG=webrtc:7682

Review-Url: https://codereview.webrtc.org/2898763005
Cr-Commit-Position: refs/heads/master@{#18245}
2017-05-23 16:52:18 +00:00
ilnik
7a3006bae7 Fix packetization logic to leave space for extensions in the last packet
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}
2017-05-23 16:34:21 +00:00
braveyao
d019667c00 Linux desktopCapture: fix the cursor position issue in Window sharing
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}
2017-05-23 16:31:14 +00:00
ehmaldonado
c1b5ea959e Add traces for some video receive statistics.
This CL adds traces to compute the following metrics that getStats()
captures for video:
- googFrameRateOutput
- packetsLost
- googFrameWidthReceived
- googFrameHeightReceived
- googCurrentDelayMs
- googTargetDelayMs
- googDecodeMs
- googMaxDecodeMs
- googJitterBufferMs
- googRenderDelayMs

BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2884643004
Cr-Commit-Position: refs/heads/master@{#18242}
2017-05-23 16:06:13 +00:00
aleloi
06013e99ac AecDump implementation.
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}
2017-05-23 15:52:05 +00:00