Still waiting to turn on negotiation (in mediasession.cc)
until we verify it's working as expected.
BUG=webrtc:4868
Review URL: https://codereview.webrtc.org/1418123003
Cr-Commit-Position: refs/heads/master@{#10958}
This is needed for Chromium so that we can roll, update libjingle.gyp and then continue.
BUG=chromium:121673
Review URL: https://codereview.webrtc.org/1514573003
Cr-Commit-Position: refs/heads/master@{#10955}
If a description is set that requires making a default stream, and one
already exists, we'll now keep the existing default audio/video tracks,
rather than destroying them and recreating them. Destroying them caused
the blink MediaStream to go to an "ended" state, which is the root cause
of the bug.
BUG=webrtc:5250
Review URL: https://codereview.webrtc.org/1469833006
Cr-Commit-Position: refs/heads/master@{#10946}
Adds tracing specifically to Close, for creating streams and also moves
tracing for SetLocal/RemoteDescription from WebRtcSession. Also adding
some tracing in ChannelManager to see what's taking time inside Close.
BUG=webrtc:5167
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1509903002 .
Cr-Commit-Position: refs/heads/master@{#10943}
This fix an issue seen on Huawei Y300 where the camera feed is black and white if we capture to textures and setpreviewformat is called.
BUG=webrtc:4993
Review URL: https://codereview.webrtc.org/1502223002
Cr-Commit-Position: refs/heads/master@{#10941}
Adds tracing to WebRtcSession and corresponding BaseChannel calls to see
where time is spent better.
BUG=webrtc:5167
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1505023003 .
Cr-Commit-Position: refs/heads/master@{#10934}
This is needed so that the data channel isn't deleted while one of its
own methods is on the call stack.
BUG=565048
Review URL: https://codereview.webrtc.org/1492383002
Cr-Commit-Position: refs/heads/master@{#10923}
Logs tracing events (TRACE_EVENT0 and friends) to storage in a format
compatible with chrome://tracing which can be used for performance
evaluation, finding lock contention and other sweet things). Tracing is
still basic and doesn't contain thread metadata or logging of tracing
arguments.
BUG=webrtc:5158
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1457383002 .
Cr-Commit-Position: refs/heads/master@{#10921}
Brings in fixes that save log output to disk instead of piping them
through Python. Should fix problem where output from tests stall for
more than 10 seconds.
Also enabling JsepPeerConnectionP2PTestClient on all platforms again.
BUG=webrtc:5231
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1509463002 .
Cr-Commit-Position: refs/heads/master@{#10917}
Delete EglBase.ConfigType, instead pass arrays of attributes, and define
constant arrays for the common cases.
Both in progress NativeToI420 and extending GlRectDrawer to other shapes (with alpha) needs this.
BUG=b/25694445
Review URL: https://codereview.webrtc.org/1498003002
Cr-Commit-Position: refs/heads/master@{#10908}
Changes include the following
1. modify FakeDtlsIdentityStore to support alternate certificate so we could have a different fingerprint in test case.
2. dtlstransportchannel can accept a new fingerprint and trigger DTLS handshake.
3. #2 will trigger new signal on the media side to reset SRTP context. Only reset SRTP context when we are using DTLS (not SDES).
4. Test cases for caller or callee are transfees.
TBR=pthatcher@webrtc.org
BUG=webrtc:3618
This is a reland of https://codereview.webrtc.org/1453523002
Review URL: https://codereview.webrtc.org/1505573002 .
Cr-Commit-Position: refs/heads/master@{#10903}
This reverts commit 9c38c2d33fa6d794704d53b18f39d5235439fe63.
This commit somehow is different from what I have in my local copy. Revert and will recommit.
TBR=pthatcher@webrtc.org
BUG=3618
Review URL: https://codereview.webrtc.org/1494373004 .
Cr-Commit-Position: refs/heads/master@{#10902}
Changes include the following
1. modify FakeDtlsIdentityStore to support alternate certificate so we could have a different fingerprint in test case.
2. dtlstransportchannel can accept a new fingerprint and trigger DTLS handshake.
3. #2 will trigger new signal on the media side to reset SRTP context. Only reset SRTP context when we are using DTLS (not SDES).
4. Test cases for caller or callee are transfees.
BUG=webrtc:3618
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1453523002 .
Cr-Commit-Position: refs/heads/master@{#10901}
and make it configurable from the app.
Changed the decision on whether a connection is pingable:
1.Check whether a connection is a backup connection. A connection is considered as a backup connection only if the channel is complete, the connection is active and it is not the best connection.
2. Ping a non-backup connection if it is active and for backup connection, ping it at a slower rate.
Note the default behavior is the same as before.
Also cached the channel state since we are accessing it more often.
BUG=webrtc:5034
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1455033004 .
Cr-Commit-Position: refs/heads/master@{#10900}
Dropping the first frame intended to fix a problem when switching cameras on N6 when we are capturing to textures but due to a silly bug fixed in this cl the frame was not dropped...
BUG=webrtc:5262
TBR=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1489363002
Cr-Commit-Position: refs/heads/master@{#10867}
The reason we want to use EGL14 is to be able to use EGLExt.eglPresentationTimeANDROID when writing textures to MediaEncoder.
BUG=webrtc:4993
TBR=glaznew@webrtc.org
Review URL: https://codereview.webrtc.org/1461083002
Cr-Commit-Position: refs/heads/master@{#10864}
This will let us transition to the new Initialize method in Chromium,
and then get rid of the old one.
Review URL: https://codereview.webrtc.org/1462253002
Cr-Commit-Position: refs/heads/master@{#10860}
The callback keeps a reference to an object until the callback goes out of scope.
Review URL: https://codereview.webrtc.org/1487493002
Cr-Commit-Position: refs/heads/master@{#10847}
Chromium implements AudioProcessorInterface::GetStats(), but other
clients may not. The existing stats were getting overwritten with
default AudioProcessorStats values in that case.
Now, we only overwrite the stats if the track has an
AudioProcessorInterface. Also, move signal level out of
SetAudioProcessingStats() to avoid the "don't set if it's -1" pattern.
Review URL: https://codereview.webrtc.org/1469803004
Cr-Commit-Position: refs/heads/master@{#10831}
Insted of using a fixed frame rate, we allow the camera to use a lower frame rate. The camera will choose depending on lightning condition.
TESTED= In a room with low light on N5, N6 N7, Galaxy 4.
BUG=webrtc:5262
R=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1479563004 .
Cr-Commit-Position: refs/heads/master@{#10807}
This cl make it possible for the hw video encoder to downscale a texture image before encoding. The purpose is to allow downscaling if the quality is too bad at the current resolution.
BUG=webrtc:4993
R=magjed@webrtc.org, pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1470043002 .
Cr-Commit-Position: refs/heads/master@{#10804}
(patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )
Relanding after fixing CallAndModifyStream to account for new
procedures for adding/removing a track from a stream.
Original issue's description:
> Adding the ability to create an RtpSender without a track.
>
> This CL also changes AddStream to immediately create a sender, rather
> than waiting until the track is seen in SDP. And the PeerConnection now
> builds the list of "send streams" from the list of senders, rather than
> the collection of local media streams.
>
> Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> Cr-Commit-Position: refs/heads/master@{#10414}
Review URL: https://codereview.webrtc.org/1468113002
Cr-Commit-Position: refs/heads/master@{#10790}
This is part of the project that makes RTC rendering more
smooth. We've already finished the developement of the
frame selection algorithm in WebMediaPlayerMS, where we
managed a frame pool, and based on the vsync interval, we
actively select the best frame to render in order to
maximize the rendering smoothness.
Thus the frame timeline control in IncomingVideoStream is
no longer needed, because with sophisticated frame
selection algorithm in WebMediaPlayerMS, the time control
in IncomingVideoStream will do nothing but add some extra
delay.
BUG=514873
Review URL: https://codereview.webrtc.org/1419673014
Cr-Commit-Position: refs/heads/master@{#10781}
SurfaceViewRenderer currently stores widthSpec/heightSpec internally, and triggers requestLayout() from renderFrameOnRenderThread()->checkConsistentLayout() when it detects a change using widthSpec/heightSpec. This is not reliable, because onMeasure() might be called several times during the layout process negotiation. For example it might look like this:
-> onMeasure(at most 1920, at most 1080)
<- setMeasuredDimension(1080, 1080)
-> onMeasure(exactly 1080, exactly 1080)
<- setMeasuredDimension(1080, 1080)
Then we store (exactly 1080, exactly 1080) even though we are allowed to be bigger than this, and requestLayout() will never be triggered.
This CL moves the requestLayout() trigger to updateFrameDimensionsAndReportEvents() when the frame size changes.
Other small changes in this CL are:
* Replace with/height variables with Point.
* Add logging in updateFrameDimensionsAndReportEvents() even when rendererEvents is null.
* Use Math.round() in RendererCommon.getDisplaySize() instead of integer cast.
R=hbos@webrtc.org
Review URL: https://codereview.webrtc.org/1453413005 .
Cr-Commit-Position: refs/heads/master@{#10774}
eglCreateSurface() calls are posted to the render thread from both init() and surfaceCreated(). If the render thread does not process the eglCreateSurface() message from init() before surfaceCreated() is called, eglCreateSurface() will be called twice resulting in a crash.
This CL makes sure eglCreateSurface() is only called once.
BUG=b/25815604
R=hbos@webrtc.org
Review URL: https://codereview.webrtc.org/1466133002 .
Cr-Commit-Position: refs/heads/master@{#10769}
This method should be used when the SurfaceTextureHelper is created to use a specific handler.
This now guarantee that the looper used by handler is destroyed after a frame has been returned.
Review URL: https://codereview.webrtc.org/1465163003
Cr-Commit-Position: refs/heads/master@{#10767}
"non-RTP protocols" refers to SCTP data channels. Because
there are no streams for SCTP data channels, the answer was being
set to RECVONLY.
BUG=webrtc:5228
Review URL: https://codereview.webrtc.org/1473013002
Cr-Commit-Position: refs/heads/master@{#10762}
Replace armv7 by arm and arm64 in documentation for iOS build
instructions.
BUG=5125
Review URL: https://codereview.webrtc.org/1418513014
Cr-Commit-Position: refs/heads/master@{#10761}
Reason for revert:
Still breaking CallAndModifyStream. Chromium CL intended to fix it (https://codereview.chromium.org/1435713002/) wasn't sufficient, because I forgot to call addStream/removeStream on the second connection.
Original issue's description:
> Reland of Adding the ability to create an RtpSender without a track. (patchset #1 id:1 of https://codereview.webrtc.org/1426443007/ )
>
> Reason for revert:
> Relanding, after changing the expectations of WebRtcBrowserTest.CallAndModifyStream.
>
> Original issue's description:
> > Revert of Adding the ability to create an RtpSender without a track. (patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )
> >
> > Reason for revert:
> > Causing a compiler warning, and causing WebRtcBrowserTest.CallAndModifyStream to fail.
> >
> > Original issue's description:
> > > Adding the ability to create an RtpSender without a track.
> > >
> > > This CL also changes AddStream to immediately create a sender, rather
> > > than waiting until the track is seen in SDP. And the PeerConnection now
> > > builds the list of "send streams" from the list of senders, rather than
> > > the collection of local media streams.
> > >
> > > Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> > > Cr-Commit-Position: refs/heads/master@{#10414}
> >
> > TBR=pthatcher@webrtc.org,pthatcher@chromium.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://crrev.com/8f46c63f6f764254892f4111b54aa1cc8f32eeeb
> > Cr-Commit-Position: refs/heads/master@{#10417}
>
> TBR=pthatcher@webrtc.org,pthatcher@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/6834fa10f142bf5e2275142acb834898911d09ae
> Cr-Commit-Position: refs/heads/master@{#10730}
TBR=pthatcher@webrtc.org,pthatcher@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1460323002
Cr-Commit-Position: refs/heads/master@{#10732}
Reason for revert:
Relanding, after changing the expectations of WebRtcBrowserTest.CallAndModifyStream.
Original issue's description:
> Revert of Adding the ability to create an RtpSender without a track. (patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )
>
> Reason for revert:
> Causing a compiler warning, and causing WebRtcBrowserTest.CallAndModifyStream to fail.
>
> Original issue's description:
> > Adding the ability to create an RtpSender without a track.
> >
> > This CL also changes AddStream to immediately create a sender, rather
> > than waiting until the track is seen in SDP. And the PeerConnection now
> > builds the list of "send streams" from the list of senders, rather than
> > the collection of local media streams.
> >
> > Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> > Cr-Commit-Position: refs/heads/master@{#10414}
>
> TBR=pthatcher@webrtc.org,pthatcher@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/8f46c63f6f764254892f4111b54aa1cc8f32eeeb
> Cr-Commit-Position: refs/heads/master@{#10417}
TBR=pthatcher@webrtc.org,pthatcher@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1413983004
Cr-Commit-Position: refs/heads/master@{#10730}